php 数组函数

数组差集函数对比

函数名 区别和声明 比较规则
array_diff 值不一样就是差集 if (string) $elem1 === (string) $elem2
array_udiff 值不一样就是差集 回调函数
array_diff_key 键不一样就是差集 if (string) $elem1 === (string) $elem2
array_diff_ukey 键不一样就是差集 回调函数
array_diff_assoc 键和值都不一样是差集 keyif (string) $elem1 === (string) $elem2valueif (string) $elem1 === (string) $elem2
array_diff_uassoc 键和值都不一样是差集 keyif (string) $elem1 === (string) $elem2value:回调函数
array_udiff_assoc 键和值都不一样是差集 key:回调函数,valueif (string) $elem1 === (string) $elem2
array_udiff_uassoc 键和值都不一样是差集 key:回调函数,value:回调函数
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

var_dump($result);

/**
array(1) {
    [1] =>
    string(4) "blue"
}
*/

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

var_dump($result);

/**
array(3) {
    'blue' =>
    int(1)
    'red' =>
    int(2)
    'purple' =>
    int(4)
}
*/

发表评论