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));
?>

输出结果为:

1.png

可以看出,上面的示例中使用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));
?>

2.png

$keys数组不可为多维数组

<?php
$keys=array(array("1","2","3"),"b","c","d");
$values=array("red","green","blue","yellow");
var_dump(array_combine($keys,$values));
?>

否则就会报错:

3.png

但$values数组可以为多维数组

<?php
$keys=array("a","b","c","d");
$values=array(array("red","pink","orange"),"green","blue","yellow");
var_dump(array_combine($keys,$values));
?>

输出结果为:

5.png

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php数组学习之如何以合并方式创建数组