php数组学习之如何以合并方式创建数组
在之前的文章《PHP数组学习之如何以填充方式来创建数组》中,我们介绍了两种另类的数组创建方法。这里我们再介绍一种另类的数组创建方法,我们来看看吧。
我们一般讲的合并两个数组,是类型这样:
有两个数组 array (size=2) 'a' => string 'red' (length=3) 'b' => string 'green' (length=5) array (size=2) 'c' => string 'blue' (length=4) 'd' => string 'yellow' (length=6) 合并两个数组 array (size=4) 'a' => string 'red' (length=3) 'b' => string 'green' (length=5) 'c' => string 'blue' (length=4) 'd' => string 'yellow' (length=6)
拼接两个数组,将一个数组的所有元素(键名和键值)附加在另一个数组的后面。
但其实合并两个数组,还可以是以一个数组元素为键名、另一个数组元素为键值,通过这种方式我们就可以创建一个新数组。
我们来看看下面一个例子:
<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $values=array("red","green","blue","yellow"); var_dump($keys); var_dump($values); echo "使用array_combine()合并数组后:"; var_dump(array_combine($keys,$values)); ?>
输出结果为:
可以看出,上面的示例中使用array_combine($keys,$values)
函数通过合并两个数组的方式创建了一个新数组,其中$keys
数组中的元素作为了新数组的键名,$values
数组的元素为作为了新数组的键值。
但需要注意的是,使用array_combine()函数创建数组时,$keys数组和$values数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE:
<?php $keys=array("a","b","c","d"); $values=array("red","green","blue"); var_dump(array_combine($keys,$values)); ?>
$keys数组不可为多维数组
<?php $keys=array(array("1","2","3"),"b","c","d"); $values=array("red","green","blue","yellow"); var_dump(array_combine($keys,$values)); ?>
否则就会报错:
但$values数组可以为多维数组
<?php $keys=array("a","b","c","d"); $values=array(array("red","pink","orange"),"green","blue","yellow"); var_dump(array_combine($keys,$values)); ?>
输出结果为:
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!