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, )
posted @ 2021-03-03 17:56  FZ-august  阅读(253)  评论(0)    收藏  举报