### [入門]
>array_combine(key,value) 用于通過一個數組的值做其鍵名,另一個數組得值作為其值來創建一個全新數組:
~~~
<?php
$keys = ['sky', 'grass', 'orange'];
$values = ['blue', 'green', 'orange'];
$array = array_combine($keys, $values);
print_r($array);
// Array
// (
// [sky] => blue
// [grass] => green
// [orange] => orange
// )
~~~
>array_key() 返回給定數組的鍵名;
array_value() 返回給定數組的值;
array_flip() 交換數組中的鍵值和鍵名;
~~~
<?php
print_r(array_keys($array));// ['sky', 'grass', 'orange']
print_r(array_values($array));// ['blue', 'green', 'orange']
print_r(array_flip($array));
// Array
// (
// [blue] => sky
// [green] => grass
// [orange] => orange
// )
~~~
### [簡化代碼]
>list()函數,確切的說它不是一個函數,而是一種語音結構,可以將數組中的值賦值給一組變量。
舉個例子,下面給出list()函數的基本使用:
~~~
<?php
//定義數組
$array = ['a','b','c'];
// 不使用 list()
$a = $array[0];
$b = $array[1];
$c = $array[2];
//使用 list() 函數
list($a, $b, $c) = $array;
?>
~~~
>這個語言結構結合 preg_split() 或 explode() 這類函數使用效果更佳,如果你無需定義其中的某些值,可以直接跳過一些參數的賦值:
~~~
$string = 'hello|wild|world';
list($hello, , $world) = explode('|', $string);
echo $hello, ' ', $world;
~~~
>另外,list() 還可用于 foreach 遍歷,這種用法更能發揮這個語言結構的優勢:
>
~~~
$arrays = [[1, 2], [3, 4], [5, 6]];
foreach ($arrays as list($a, $b)) {
$c = $a + $b;
echo $c, ', ';
}
~~~
注:list()語言結構僅適用于數組索引數組,并默認從0開始,且無法用于關聯數組,查看[文檔](http://php.net/manual/zh/function.list.php)