### [入门]
>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)