• array_intersect、array_intersect_key、array_intersect_assoc、array_intersect_ukey、array_intersect_uassoc 的用法


    <?php
    
    // array_intersect 的用法是返回一个关联数组(键是第一个参数数组的键),
    //      该数组包含了所有在 $array1 中同时也出现在其他参数数组中的值
    
    // 下面的 0,1 键是手动加上去的, 可以去掉, 默认就是 0,1
    $array1 = [
        "a" => "green",
        0 => "red",
        1 => "blue",
        2 => 'white'
    ];
    $array2 = [
        "b" => "green",
        "yellow",
        "red",
        'white',
    ];
    var_dump($array1, $array2);
    
    // 只比较值 echo "array_intersect($array1, $array2): "; var_dump(array_intersect($array1, $array2)); echo "array_intersect_key($array1, $array2): "; // 只比较键, 只返回键相同的对应数组项(值是第一个参数数组的值), 反正都是返回第一个参数数组里面的项 var_dump(array_intersect_key($array1, $array2)); echo "array_intersect_assoc($array1, $array2): "; // 同时比较键值, 可以看做是融合了 array_intersect、array_intersect_key 的功能 // 只有键值对同时相同的时候才会返回 var_dump(array_intersect_assoc($array1, $array2)); function compare($key1, $key2) { if ($key1 == $key2) { // 这里使用 === 的时候, array_intersect_ukey 返回的数组中没有 key 为 0 的项 return 0; } return ($key1 > $key2) ? 1 : -1; } echo "array_intersect_ukey($array1, $array2): "; // array_intersect_ukey 使用自定义函数进行键比较 // !!! 使用该方法需要注意的是, 比较的数组不是关联数组的时候可能会导致错误(上面的例子中 'a' == 0 其实是 true) var_dump(array_intersect_ukey($array1, $array2, 'compare')); echo "array_intersect_uassoc($array1, $array2): "; // array_intersect_uassoc 使用自定义函数进行键比较 // 同时比较键值, 值的比较使用内置函数 var_dump(array_intersect_uassoc($array1, $array2, 'compare'));

      

    输出:

    array(4) {
      ["a"]=>
      string(5) "green"
      [0]=>
      string(3) "red"
      [1]=>
      string(4) "blue"
      [2]=>
      string(5) "white"
    }
    array(4) {
      ["b"]=>
      string(5) "green"
      [0]=>
      string(6) "yellow"
      [1]=>
      string(3) "red"
      [2]=>
      string(5) "white"
    }
    array_intersect($array1, $array2): 
    array(3) {
      ["a"]=>
      string(5) "green"
      [0]=>
      string(3) "red"
      [2]=>
      string(5) "white"
    }
    array_intersect_key($array1, $array2): 
    array(3) {
      [0]=>
      string(3) "red"
      [1]=>
      string(4) "blue"
      [2]=>
      string(5) "white"
    }
    array_intersect_assoc($array1, $array2): 
    array(1) {
      [2]=>
      string(5) "white"
    }
    array_intersect_ukey($array1, $array2): 
    array(2) {
      [1]=>
      string(4) "blue"
      [2]=>
      string(5) "white"
    }
    array_intersect_uassoc($array1, $array2): 
    array(1) {
      [2]=>
      string(5) "white"
    }
    

      

  • 相关阅读:
    Ubuntu下的OpenResty 安装
    你真的理解devDependencies和dependencies区别吗?
    "No user exists for uid 501"
    Mongo的备份和恢复(mongodump 和mongorestore )
    mongodb最大连接数、最大连接数修改
    ssh 断开解决办法
    Know How To Use Check Box Mapping Of Other Values Property In Oracle Forms
    Date Picker Calendar For Oracle Forms 6i
    Freebie: Date Picker Calendar Demo Form For Oracle Forms 6i
    Creating Excel File in Oracle Forms
  • 原文地址:https://www.cnblogs.com/eleven24/p/8808043.html
Copyright © 2020-2023  润新知