zoukankan      html  css  js  c++  java
  • php 判断数组相等 数组运算符介绍

    如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了

    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)
    ?>


    除了==这种数组操作符之外,还有其他比较绕的方法来判断。比如说,利用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: 
    ";
    var_dump($c);
    
    $c = array_merge($a, $b); // Union of $b and $a
    echo "array_merge of $b and $a: 
    ";
    var_dump($c);
    ?>

    执行后输出:

    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"
    }



  • 相关阅读:
    第一节:SpringMVC概述
    SpringMVC【目录】
    Windows 系统快速查看文件MD5
    (error) ERR wrong number of arguments for 'hmset' command
    hive使用遇到的问题 cannot recognize input
    Overleaf支持的部分中文字体预览
    Understanding and Improving Fast Adversarial Training
    Django2实战示例 第十三章 上线
    Django2实战示例 第十二章 创建API
    Django2实战示例 第十一章 渲染和缓存课程内容
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3230786.html
Copyright © 2011-2022 走看看