Home >php教程 >php手册 >php判断数组相等数组运算符

php判断数组相等数组运算符

WBOY
WBOYOriginal
2016-06-06 19:52:141387browse

如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了.php手册里说明如下: 例子 名称 结果 $a + $b 联合 $a 和 $b 的联合。 $a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 $a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类

  如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了.php手册里说明如下:

  例子 名称 结果

  $a + $b 联合 $a 和 $b 的联合。

  $a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。

  $a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。

  $a != $b 不等 如果 $a 不等于 $b 则为 TRUE。

  $a $b 不等 如果 $a 不等于 $b 则为 TRUE。

  $a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE。

  那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当然也可以。

  若数组是数字索引的,就要注意一下了,见代码

  [php]

  $a = array("apple", "banana");

  $b = array(1 => "banana", "0" => "apple");

  var_dump($a == $b); // bool(true)

  var_dump($a === $b); // bool(false)

  >

  $a = array("apple", "banana");

  $b = array(1 => "banana", "0" => "apple");

  var_dump($a == $b); // bool(true)

  var_dump($a === $b); // bool(false)

  >

  除了==这种数组操作符之外,还有其他比较绕的方法来判断。比如说,利用array_diff($a, $b)来比较两个数组的差集,如果差集是NULL的话就相等了。

  然后再说一下 数组的 + 加号运算符。+ 和 array_merge的区别在遇到相等key时,用+时,左边数组会覆盖掉右边数组的值,array_merge相反,后面的数组覆盖掉前面的。

  [php]

  $a = array("a" => "apple", "b" => "banana");

  $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

  $c = $a + $b; // Union of $a and $b

  echo "Union of \$a and \$b: \n";

  var_dump($c);

  $c = array_merge($a, $b); // Union of $b and $a

  echo "array_merge of \$b and \$a: \n";

  var_dump($c);

  >

  $a = array("a" => "apple", "b" => "banana");

  $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

  $c = $a + $b; // Union of $a and $b

  echo "Union of \$a and \$b: \n";

  var_dump($c);

  $c = array_merge($a, $b); // Union of $b and $a

  echo "array_merge of \$b and \$a: \n";

  var_dump($c);

  ?>执行后输出:

  [php]

  Union of $a and $b:

  array(3) {

  ["a"]=>

  string(5) "apple"

  ["b"]=>

  string(6) "banana"

  ["c"]=>

  string(6) "cherry"

  }

  array_merge of $b and $a:

  array(3) {

  ["a"]=>

  string(4) "pear"

  ["b"]=>

  string(10) "strawberry"

  ["c"]=>

  string(6) "cherry"

  }

  Union of $a and $b:

  array(3) {

  ["a"]=>

  string(5) "apple"

  ["b"]=>

  string(6) "banana"

  ["c"]=>

  string(6) "cherry"

  }

  array_merge of $b and $a:

  array(3) {

  ["a"]=>

  string(4) "pear"

  ["b"]=>

  string(10) "strawberry"

  ["c"]=>

  string(6) "cherry"

  }

php判断数组相等数组运算符

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn