批改状态:合格
老师批语:
//arry_diff(),比较的是数组成员的值//该函数只能对多维数组的第一维进行差值比较。//返回值是一个数组,返回第一个参数数组有但是后面的参数数组没有的差值$a = [1, 2, 3, 4, 5, 6, 7];$b = [1, 2];$c = [5, 6];var_dump(array_diff($a, $b, $c));
//与arry_diff()不同的是比较的是键名$a = ['name' => '张三', 'age' => 25, 'xingbie' => '男'];$b = ['age' => 28];echo '<hr>';var_dump(array_diff_key($a, $b));
//与arry_diff_key()不同的是用用户提供的回调函数计算键名,可以对键名进行一些运算后再求数组差值function ukey($a1,$b1){return ($a1.'1') <=> $b1;}$a = ['name' => '张三', 'age' => 25, 'xingbie' => '男'];$b = ['name1' => '张三','age1' =>25];echo '<hr>';var_dump(array_diff_ukey($a, $b,'ukey'));
//array_diff_assoc(),既比较键名也比较键值,要求键值对完全相同的才进行减去//相当于 if(键名比较 = false || 键值比较 = false) return 数组成员;$a = ['name' => '张三', 'age' => 25, 'femail' => '女'];$b = ['name' => '李四', 'ages' => 25, 'femail' => '女'];echo '<hr>';var_dump(array_diff_assoc($a, $b));
//与array_diff_assoc()不同的是用用户提供的回调函数计算键名,可以对键名进行一些运算后再求数组差值$a = ['sname' => '张三', 'sage' => 25, 'sfemail' => '女'];$b = ['name' => '张三', 'femail'=>'女'];function num($a1,$b1){return $a1 <=> ('s'.$b1);}echo '<hr>';var_dump(array_diff_uassoc($a, $b,'num'));
//用于比较两个(或更多个)数组的键值,并返回交集。//返回的是第一个参数数组中与其他参数数组共有的成员。$a = [1, 2, 3, 4, 5, 6, 7];$b = [1, 2];$c = [1, 2];var_dump(array_intersect($a, $b, $c));
//与array_intersect()不同的是比较的是键名$a = ['name' => '张三', 'age' => 25, 'xingbie' => '男'];$b = ['age' => 28];echo '<hr>';var_dump(array_intersect_key($a, $b));
//与arry_intersect_key()不同的是用用户提供的回调函数计算键名,可以对键名进行一些运算后再求数组交集function ukey($a1,$b1){return ($a1.'1') <=> $b1;}$a = ['name' => '张三', 'age' => 25, 'xingbie' => '男'];$b = ['name1' => '张三','age1' =>25];echo '<hr>';var_dump(array_intersect_ukey($a, $b,'ukey'));
//array_intersect_assoc(),既比较键名也比较键值,要求键值对完全相同的才算符合交集条件$a = ['name' => '张三', 'age' => 25, 'femail' => '女'];$b = ['name' => '李四', 'ages' => 25, 'femail' => '女'];echo '<hr>';var_dump(array_intersect_assoc($a, $b));
//与array_intersect_assoc()不同的是用用户提供的回调函数计算键名,可以对键名进行一些运算后再求数组交集$a = ['sname' => '张三', 'sage' => 25, 'sfemail' => '女'];$b = ['name' => '张三', 'femail'=>'女'];function num($a1,$b1){return $a1 <=> ('s'.$b1);}echo '<hr>';var_dump(array_intersect_uassoc($a, $b,'num'));
自己查手册学习感悟:1、不知道应用场景,很难记得住。2、理解不够透彻,还是听老师的课更容易掌握。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号