我需要幫助將 2 個陣列與自定義值連接起來,我嘗試過 array_merge() 和 array_combine(),結果總是與我想要的不同,請幫幫我
陣列 1
$month = [
'January',
'January',
'January',
'January',
'February'
];
陣列 2
$weeks = [
'Week 1',
'Week 2',
'Week 3',
'Week 4',
'Week 1'
];
我希望輸出是這樣的
$newArray = [
'January - Week 1',
'January - Week 2',
'January - Week 3',
'January - Week 4',
'February - Week 1'
];
如何得到這樣的結果
uj5u.com熱心網友回復:
沒有任何功能可以自動為您提供所需的結果。您需要遍歷資料并自己創建:
$month = [
'January',
'January',
'January',
'January',
'February'
];
$weeks = [
'Week 1',
'Week 2',
'Week 3',
'Week 4',
'Week 1'
];
$newArray = [];
foreach ($month as $index => $value) {
// Create the new string you want, using the same index for both arrays
$newArray[] = $value . ' - ' . $weeks[$index];
}
演示:https ://3v4l.org/7qAoX
uj5u.com熱心網友回復:
首先,你沒有在這里合并。你只是連接兩個陣列。在 Array combine 中,One 是鍵,而 One 是輸出的值。以下代碼將是 php 中的陣列 combine:
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
print_r($c);
輸出 :
Array(
[green] => avocado
[red] => apple
[yellow] => banana
)
所以在這里你可以回圈遍歷陣列并連接,最后將它們推入一個新陣列。
$newArray = [];
foreach ($months as $key=>$month)
{
foreach ($weeks as $keyWeek=>$week)
{
if($key == $keyWeek)
{
$value = $month .'-'. $week;
array_push($newArray,$value)
}
}
}
或者干脆這樣做:
newArray = [];
foreach ($months as $key=>$month)
{
$value = $month .'-'. $weeks[$key];
array_push($newArray,$value)
}
uj5u.com熱心網友回復:
array_map您可以使用函式組合此陣列值,
foreach它可以提供比回圈更高的性能。
$months = [
'January',
'January',
'January',
'January',
'February'
];
$weeks = [
'Week 1',
'Week 2',
'Week 3',
'Week 4',
'Week 1'
];
$newArray = array_map(function($index) use ($months, $weeks) {
return $months[$index] . ' - ' . $weeks[$index];
}, array_keys($months));
echo '<pre>';
print_r($newArray);
輸出:
Array
(
[0] => January - Week 1
[1] => January - Week 2
[2] => January - Week 3
[3] => January - Week 4
[4] => February - Week 1
)
演示:https ://3v4l.org/ABJtf
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/450823.html
