PHP在数组中新增一个字段存放一个数组

作为喜欢偷懒的我来说,找一个PHP自带的函数是最省事的,但是我发现原来方法很多,但是也有很多坑。先定义一个数组和需要添加的东西给大家看看。

// 定义一个键值对形式的数组。
$array_test = array(
	'a' => "aa",
	'b' => "bb",
);

// 再定义一个需要加进去的键值对,这个键值对也放在数组中,也就是新增一个字段'new_test'=>$new_test
$new_test = array(
	'c' => "cc",
	'd' => "dd",
);

比如说:array_push($array_test ,array('new_test' => $new_test)),他虽然也能拼接,但是新增进来的键值对 你会发现,为什么是在原来的数据后面变成了'0'=>array(2);而不是新增一个字段’new_test’=>$new_test。这就是array_push()的问题所在了,而且根据网上说的:一、即使数组中有字符串键名,您添加的元素也始终是数字键。二、如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =,因为这样没有调用函数的额外负担。
注意:不可以用array_merge(),因为这个函数是拼接俩个字符串,而不是将另一个数组以新字段加进指定数组中。
那我们该怎么办呢?超级简单,简单到我想把自己脑子拿出来看看是不是学傻了,进水了!

直接$array_test['new_test'] = $new_test;就行了,是不是超简单,呜呜呜,现在看一下这一步之后数组变成什么样子吧:

$array_test = array(
	'a' => "aa",
	'b' => "bb",
	'new_test' => array(
		'c' => "cc",
		'd' => "dd",
	)
);

猜你喜欢

转载自blog.csdn.net/weixin_46304253/article/details/108654783