HOWTO · PHP
連線 PHP 陣列
本教程演示瞭如何在 PHP 中連線兩個或多個陣列。
本頁內容
PHP 有兩種連線陣列的方式;一種是簡單的聯合+,另一種是內建函式 array_merge()。
concat 將給定陣列的成員附加到第一個陣列的末尾。
本教程演示瞭如何在 PHP 中聯絡兩個或多個陣列。
在 PHP 中使用簡單聯合 + 來連線陣列
陣列聯合可以連線兩個或多個陣列,但陣列應該是關聯陣列。聯合不能連線簡單的陣列。
<?php
//Simple one dimensional array
$demo_array1 = array('Jack', 'Shawn', 'Michelle');
$demo_array2 = array('John', 'Joey', 'Maria');
//associative array
$ac_array1 = array(1 => 'Jack', 2 => 'Shawn', 3 => 'Michelle');
$ac_array2 = array(4 => 'John', 1 => 'Joey', 6 => 'Maria');
$combined_array1 = $demo_array1 + $demo_array2;
$combined_array2 = $ac_array1 + $ac_array2;
echo "The values for simple array: <br>";
foreach($combined_array1 as $value){
echo $value."<br>";
}
echo "The values for associative array: <br>";
foreach($combined_array2 as $value){
echo $value."<br>";
}
?>
上面的程式碼首先嚐試連線兩個簡單的關聯陣列。
如果關聯中的鍵在任何時候都相同,則該元素將不會新增到新陣列中。
輸出:
The values for simple array:
Jack
Shawn
Michelle
The values for associative array:
Jack
Shawn
Michelle
John
Maria
正如我們所看到的,union 沒有連線兩個簡單的陣列,並且在關聯中刪除了具有相同鍵的成員。
在 PHP 中使用 array_merge() 連線陣列
array_merge 是 PHP 中用於合併多個陣列的內建函式。引數可以是你想要連線的任意數量的陣列。
<?php
//Simple one dimensional array
$demo_array1 = array('Jack', 'Shawn', 'Michelle');
$demo_array2 = array('John', 'Joey', 'Maria');
$demo_array3 = array('Robert', 'Jimmy', 'Mike');
//associative array
$ac_array1 = array(1 => 'Jack', 2 => 'Shawn', 3 => 'Michelle');
$ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
$ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
// concat arrays using array_merge
$combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
$combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
echo "The values for simple array: <br>";
foreach($combined_array1 as $value){
echo $value."<br>";
}
echo "The values for associative array: <br>";
foreach($combined_array2 as $value){
echo $value."<br>";
}
?>
上面的程式碼嘗試連線一組三個簡單陣列和一組三個關聯陣列。
array_merge() 將連線陣列,而不管它們的型別。array_merge() 將保留所有元素,與聯合不同。
輸出:
The values for simple array:
Jack
Shawn
Michelle
John
Joey
Maria
Robert
Jimmy
Mike
The values for associative array:
Jack
Shawn
Michelle
John
Joey
Maria
Robert
Jimmy
Mike
如輸出所示,在連線陣列時不會刪除單個成員。