每天一个学习一个新的php函数(2) array_diff()/array_diff_key()/array_diff_assoc()_PHP教程array_diff( array array1, array array2 [, array …] )array array_diff_assoc ( array array1, array array2 [, array …] )array array_diff_key ( array $array1 , array $array2 [, array $… ] )array array_intersect ( array $array1 , array $array2 [, array $ … ] )

阅读量:27
2021-04-17

每天一个学习一个新的php函数(2) array_diff()/array_diff_key()/array_diff_assoc()

array_diff( array array1, array array2 [, array …] )

说明
array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。

列子

 "green", "red", "blue", "red");
    $array2 = array("b" => "green", "yellow", "red");
    $result = array_diff($array1, $array2);
    print_r($result);
?>

输出结果为

Array([1] => blue)

注意

两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。

array array_diff_assoc ( array array1, array array2 [, array …] )

说明
array_diff_assoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。
列子

 "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
?> 

输出

Array(
    [b] => brown
    [c] => blue
    [0] => red
)

上面的例子中可以看到键值对 “a” => “green” 在两个数组中都有,因此不在本函数的输出中。与此不同,键值对 0 => “red” 出现在输出中是因为第二个参数中的 “red” 的键名是 1。

列子2

 

输出

Array(
    [0] => 0
    [1] => 1
)    

键值对 key => value 中的两个值仅在 (string) elem1===(string)elem2 时被认为相等。也就是说使用了严格检查,字符串的表达必须相同。

注意

Note: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff_assoc($array1[0], $array2[0]); 检查更深的维度。

array array_diff_key ( array $array1 , array $array2 [, array $… ] )

说明
根据 array1 中的键名和 array2 进行比较,返回不同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。
返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值。

列子

 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
    $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
    var_dump(array_diff_key($array1, $array2));
?> 

输出

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

在 key => value 对中的两个键名仅在 (string)$key1 === (string) $key2 时被认为相等。换句话说,执行的是严格类型检查,因此字符串的表达必须完全一样。

array array_intersect ( array $array1 , array $array2 [, array $ … ] )

说明
array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。

trueTechArticle每天一个学习一个新的php函数(2) array_diff()/array_diff_key()/array_diff_assoc() array_diff( array array1, array array2 [, array ] ) 说明 array_diff() 返回一个数组...
THE END

发表评论

相关推荐

  • php getdate函数怎么用

    php getdate函数用于返回当前本地的“日期/时间”的“日期/时间”信息,其语法为“getdate(timestamp)”,该函数会返回带有与时间 ...

    阅读量:102
    2021-04-19
  • column的10篇内容推荐

    column-fill属性会将不同高度的指定列以高度差最小化的方式进行对齐,这里我们就来看一下CSS3的column-fill属性对齐列内容高 ...

    阅读量:102
    2021-04-19
  • PHPMailer 中文使用说明小结_PHP教程

    A开头: $AltBody --属性 出自:PHPMailer : $AltBody 文件:class.phpmailer .php 说明:该属性的设置是在邮件正文不支持HT ...

    阅读量:136
    2021-04-19
  • php date与gmdate的获取日期的区别_PHP教程

    date -- 格式化一个本地时间/日期   gmdate -- 格式化一个 /UTC 日期/时间,返回的是格林威治标准时(GMT)。   举个 ...

    阅读量:118
    2021-04-19
  • php 正确解码javascript中通过escape编码后的字符_PHP教程

    这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~ JavaScript代码

    阅读量:116
    2021-04-19