批改状态:合格
老师批语:这是在补作业吗? 加油
// (1)array_chunk 将一个数组分割成多个$arr=array('id'=>'1','name'=>'baoyu','age'=>30,'sex'=>'man');echo '将一个数组分割为多个数组,每个数组包含2个键值对<br>';printf('返回索引数组<pre>%s</pre>',print_r(array_chunk($arr,2),true));printf('返回关联数组<pre>%s</pre>',print_r(array_chunk($arr,2,true),true));echo '<hr>';// (2)array_merge 合并一个或多个数组// 如存在相同键名,则后面数组的值会覆盖前面数组的值,索引键名不覆盖$arr1=['id'=>'101',1,2,3];$arr2=['name'=>'baoyu',4,5,'a'];$arr3=['id'=>'103',7,8,'b'];$arrs=array_merge($arr1,$arr2,$arr3);printf('合并后的数组:<pre>%s</pre>',print_r($arrs,true));echo '<hr>';


// (3)array_column 返回数组中指定的一列$arr=[['id'=>'101','name'=>'baoyu','age'=>30,'sex'=>'man'],['id'=>'102','name'=>'zhangyi','age'=>32,'sex'=>'woman'],['id'=>'103','name'=>'lishan','age'=>31,'sex'=>'man']];printf('返回数组中的name列的值,键名为id<pre>%s</pre>',print_r(array_column($arr,'name','id'),true));echo '<hr>';// (4)array_key_exists 检查数组里是否有指定的键名或索引$arr=['id'=>'101','name'=>'baoyu','age'=>30,'sex'=>'man'];if(array_key_exists('name',$arr)){echo '数组中包含name这个键名<br>';};// (5)array_key_first 获取数组的第一个键名echo '返回数组中的第一个键名是:',array_key_first($arr),'<br>';// (6)array_key_last 获取数组的最后一个键名echo '返回数组中的最后一个键名是:',array_key_last($arr),'<br>';// (7)array_keys 返回数组中部分的或所有的键名printf('返回数组中所有的键名:%s',print_r(array_keys($arr),true));echo '<hr>';


// (8)array_multisort 对多个数组或多维数组进行排序$arrs=['number'=>[101,20,30,50],10=>[102,'name'=>'zhangyi',32,'sex'=>'woman'],'string'=>['103','name'=>'lishan','31','sex'=>'man']];$arr1=[6,3,8];array_multisort($arrs['number'],SORT_NUMERIC,SORT_ASC,$arrs[10],SORT_STRING,SORT_DESC,$arrs['string'],SORT_NATURAL,SORT_ASC);printf('数组多维排序:<pre>%s</pre>',print_r($arrs,true));array_multisort($arrs,SORT_FLAG_CASE);//printf('数组单维排序:<pre>%s</pre>',print_r($arrs,true));echo '<hr>';


// (9)array_diff 计算数组的差集$arr1=[1,2,3,4];$arr2=[3,4,5,6];$arr3=[5,6,7,8];$arrs=array_diff($arr1,$arr2,$arr3);printf('返回第1个数组与其他数组的值差集:<pre>%s</pre>',print_r($arrs,true));echo '<hr>';// (10)array_diff_key 使用键名比较计算数组的差集$arr1=['id'=>'101','name'=>'baoyu','age'=>30,'sex'=>'man'];$arr2=['name'=>'baoyu','job'=>'admin'];$arr3=['id'=>'101','tel'=>'18912345678'];$arrs=array_diff_key($arr1,$arr2,$arr3);printf('返回第1个数组与其他数组的键差集:<pre>%s</pre>',print_r($arrs,true));

// (11)array_slice 从数组中取出一段$arr=[1,2,3,4,5,6,7,8,9,10];$outarr=array_slice($arr,2,4);printf('从第3个位置开始取出4个元素:<pre>%s</pre>',print_r($outarr,true));$outarr=array_slice($arr,-3);printf('取出从倒数第3至最后的元素:<pre>%s</pre>',print_r($outarr,true));$outarr=array_slice($arr,-6,-4);printf('取出从倒数第6至倒数第4之间的元素:<pre>%s</pre>',print_r($outarr,true));// (12)array_splice 去掉数组中的某一部分并用其它值取代$arr=[1,2,3,4,5,6,7,8,9,10];$outarr=array_splice($arr,2,4,[101,102,103,104]);printf('从第3个位置开始被移除的4个元素:<pre>%s</pre>',print_r($outarr,true));printf('被替换后的数组:<pre>%s</pre>',print_r($arr,true));$outarr=array_splice($arr,-3,-2,'201');printf('将倒数第3个元素替换为201:<pre>%s</pre>',print_r($arr,true));$outarr=array_splice($arr,-5,-2);printf('移除从倒数第5至倒数第2之间的元素:<pre>%s</pre>',print_r($arr,true));



Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号