ホームページ  >  記事  >  php教程  >  php判断数组相等数组运算符

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

WBOY
WBOYオリジナル
2016-06-06 19:52:141365ブラウズ

如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了.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判断数组相等数组运算符

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。