php数组相等判断、合并操作
php数组相等判断
$a == $b; //键和值相等即可,不需要顺序一致
$a === $b; //需要值绝对相等,键(数字和字符串,如5和'5')能对应上即可,且顺序一致
$a = ['banana' => '香蕉', 'pear' => '梨', 2 => 'two', '4' => 'four'/*, 'five' => 5*/];
$c = ['banana' => '香蕉', 'pear' => '梨', 2 => 'two', 4 => 'four'/*, 'five' => '5'*/];
$a === $c; //true
$b = ['banana' => '香蕉', 2 => 'two', 'pear' => '梨', 4 => 'four'];
$a == $b; // true
数组合并
array_merge($a, $b);
$a + $b;
如果为关联数组
$a + $b, 存在重复的键的时候,舍弃掉$b中相同键的值
array_merge($a, $b) 会使用$b中的键对应的值替换掉$a中的值
$a = ['banana' => '香蕉', 'pear' => '梨子',];
$b = ['banana' => '香蕉', 'pear' => '梨'];
echo var_export($a+$b, true); //array ( 'banana' => '香蕉', 'pear' => '梨子', ),即$a
echo var_export(array_merge($a, $b), true); //array ( 'banana' => '香蕉', 'pear' => '梨', ), 即$b
如果为关联数组,会导致索引重置
$a+$b,相同索引,使用$a中
array_merge($a, $b) 会把$a和$b的合并在一起.
注意 如果$a和$b的下标不是从0开始的,合并后,array_merge会重新索引数据,使用时要特别注意
$a = [1, 3];
$b = [1, 4];
echo var_export($a+$b, true); //array ( 0 => 1, 1 => 3, )
echo var_export(array_merge($a, $b), true); //array ( 0 => 1, 1 => 3, 2 => 1, 3 => 4, )

浙公网安备 33010602011771号