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



  • 相关阅读:
    GitHub 教程【转】
    Github 教程
    Excel 多个单元格输入同样内容
    寻找问题远比解决问题重要!
    蒲公英: 一个提供App 存储、分发、Bug管理的网站
    Dacapao 实验集(9.12 版本) 能不能给个网址?【内存分析实验】
    软件测试思维导图[ZZ]
    程序员、技术领导、管理者各有烦恼,你占了几条?ZZ
    r test
    mooctest项目总结 【转载】
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3230786.html
Copyright © 2020-2023  润新知