PHP 新手教學 Array | array_combine的使用說明

Table of Contents

Table of Contents

array_combine

將矩陣合併時,常常會想到以下這兩種方法。array_combine與array_merge。

了解這兩者的差別後,就可以依照需求使用適合的函數來達成目的。

簡單地說,區分如下。

  • array_chunk: 合併兩個矩陣,一個為合併矩陣的鍵,一個為合併矩陣的值。
  • array_merge: 串接合併多個矩陣。

本文說明 PHP array_combine使用說明與範例。

基本語法

array_combine ( array $keys , array $values ) : array

將兩個矩陣合併成新的矩陣,一個為合併矩陣的鍵,一個為合併矩陣的值。

$keys: 要合併的矩陣之一,該矩陣將成為合併後矩陣的鍵。

$values: 要合併的矩陣之一,該矩陣將成為合併後矩陣的值。

合併成功後則返回合併後的矩陣。 若兩個矩陣的數目不相同時則返回FALSE。並且會拋出錯誤警告(E_WARNING)


Example 1

有兩個矩陣分別表示科目與成績。 製作一個矩陣,其鍵為科目,值為成績。 

$subjects = array("math", "english", "history");
$scores = array("80", "90", "90");

print_r(array_combine($subjects, $scores));

Output:

Array
(
    [math] => 80
    [english] => 90
    [history] => 90
)


Example 2

兩個矩陣的元素個數不同時,合併失敗。


$keys = array("math", "english", "history");
$values = array("80", "90", "90", "100");

array_combine($keys, $values);

Output:

<br />
<b>Warning</b>:  array_combine(): Both parameters should have an equal number of elements in <b>[...][...]</b> on line <b>6</b><br />

Example 3

若第一個矩陣有重複的值時,則合併後對應的值會因為被覆寫而成為最後設定的值。

$keys = array("a", "a", "b");
$values = array("1", "2", "3");

print_r(array_combine($keys, $values));

Output:

Array
(
    [a] => 2
    [b] => 3
)

試試看

想直接線上實作的話可以透過Example傳送門來練習。


相關函數