批改状态:合格
老师批语:
echo '以下是数组排序:<br>';$arr = ['a' => 'a', 'b' => 3, 'c' => 'c', 'd' => 4, 'e' => 5];echo '$arr = ', print_r($arr, true), '<br>';echo '以下是 1.按键排序:<br>';// 按键升序$arra = $arr;ksort($arra);echo 'ksort: ', print_r($arra, true), '<br>';// 按键降序$arra = $arr;krsort($arra);echo 'krsort: ', print_r($arra, true);

$arrb = ['a' => '1', 'b' => 2, 'c' => '3', 'd' => 4, 'e' => 5];echo '按值升 降序,重排索引: <br>';// 按值升序,重排索引$azpx = $arrb;sort($azpx);echo 'sort: ', print_r($azpx, true), '<br>';// 按值降序,重排索引$azpx = $arrb;rsort($azpx);echo 'rsort: ', print_r($azpx, true), '<hr>';echo '按值升 降序,键名不变<br>';$azpx = $arrb;// 按值升序,键名不变asort($azpx);echo 'asort: ', print_r($azpx, true), '<br>';$azpx = $arrb;// 按值降序,键名不变arsort($azpx);echo 'arsort: ', print_r($azpx, true);

$arrb = ['a' => '1', 'b' => 3, 'c' => '5', 'd' => 7, 'e' => 9];echo '按键名升/降序<br>';$testr = $arrb;// 回调函数按键名升序uksort($testr, function($a, $b){return $a <=> $b;});echo 'uksort: ', print_r($testr, true), '<br>';$testr = $arrb;// 回调函数按键名降序uksort($testr, function($a, $b){return $b <=> $a;});echo 'uksort: ', print_r($testr, true), '<hr>';echo '按值升/降序,重排索引<br>';$testr = $arrb;// 回调函数按值升序,重排索引usort($testr, function($a, $b){return $a <=> $b;});echo 'usort: ', print_r($testr, true), '<br>';// 回调函数按值降序,重排索引usort($testr, function($a, $b){return $b <=> $a;});echo 'usort: ', print_r($testr, true), '<hr>';echo '按值升/降序,键名不变<br>';$test = $arrb;// 回调函数按值升序,键名不变uasort($testr, function($a, $b){return $a <=> $b;});echo 'uasort: ', print_r($testr, true), '<br>';// 回调函数按值升序,键名不变uasort($testr, function($a, $b){return $b <=> $a;});echo 'uasort: ', print_r($testr, true);

$arrc = ['a' => '1', 'b' => 3, 'c' => '5', 'd' => 7, 'e' => 9];echo ' 自然排序 : <br>';$zrps = $arrc;// 自然排序: natsort数字在前,字母在后natsort($zrps);echo 'natsort: ', print_r($zrps, true), '<hr>';// 自然排序: natcasesort数字在前字母在后natcasesort($zrps);echo 'natcasesort: ', print_r($zrps, true);

$mnis = [['id' => 4, 'name' => 'a-zuxu'],['id' => 6, 'name' => 'b-zuxu'],['id' => 5, 'name' => 'c-zuxu'],];echo '当前二维数组:<pre>', print_r($mnis, true), '</pre><br>';// id 升序array_multisort($mnis, array_column($mnis, 'id'));echo 'array_multisort: id升序(默认) <pre>', print_r($mnis, true), '</pre><br>';// id 降序array_multisort($mnis, SORT_DESC, array_column($mnis, 'id'));echo 'array_multisort: id降序<pre>', print_r($mnis, true), '</pre><br>';// 按 name 自然排序(数字在前,字母接后)array_multisort($mnis, SORT_NATURAL, array_column($mnis, 'name'));echo 'array_multisort: name:自然排序<pre>', print_r($mnis, true), '</pre><br>';


$arrb = ['a' => '1', 'b' => 2, 'c' => '3', 'd' => 4, 'e' => 5];// 数组反转排序$test = array_reverse($arrb);echo 'array_reverse: ', print_r($test, true), '<hr>';// 数组反转保留数字键名$arrc = ['a' => '2', 'b' => 4, 'c' => '6', 'd' => 8, 'e' => 10];$test = array_reverse($arrc, true);echo 'array_reverse: ', print_r($test, true), '<hr>';

$arrd = ['a' => '1', 'b' => 2, 'c' => '3', 'd' => 4, 'e' => 5];echo '<br>';$test = $arrd;// 乱序排列,重排索引shuffle($test);echo 'shuffle: ', print_r($test, true), '<hr>';

$array1 = [0 => '1', 2 => '2', '3' => 'c'];$array2 = [1 => 'a', 'b' => 'b', 3 => 3];echo '1. 键值对合并<br>';// arr1 的值作键名,arr2 的值作值组成数组$test = array_combine($array1, $array2);echo 'array_combine: <pre>', print_r($test, true), '</pre><hr>';$test = array_merge($array1, $array2);// 数字索引重排,相同字符串键名,后值覆盖前值echo 'array_merge: <pre>', print_r($test, true), '</pre><hr>';

$array1 = ['a' => 1, 'b' => 2, 3 => 'c'];$array2 = [1 => 'a', 'b' => 'b', 3 => 3];// 数组递归合并,相同字符串键名,值合并$test = array_merge_recursive($array1, $array2);echo 'array_merge_recursive: <pre>', print_r($test, true), '</pre><hr>';

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];$array2 = [1 => 'a', 'b' => 'b', 3 => 3];/* 数组成员的统计 */$test = $array1 + $array2;echo '$test = ', print_r($test, true), '<br>';// 统计数组中项目个数echo 'count($test) : ', count($test), '<hr>';echo '2. 统计值出现过的数组次数<br>';// 数组由值组成键名,值出现的次数为值echo 'array_count_values($test) : <pre>', print_r(array_count_values($test), true), '</pre>';

$array1 = ['a' => 'b', 'b' => 'a', 1 => 'a', 2 => 'b'];$array2 = [1 => 'a', 'a' => 'b', 'b' => 1];echo "\$$array1 = ['a' => 'b', 'b' => 'a', 1 => 'a', 2 => 'b'];<br>";echo "\$$array2 = [1 => 'a', 'a' => 'b', 'b' => 1];<hr>";echo '1.数组交集值相等型<br>';// 数组交集,只需值相等(主从数组键名不同时,保留主数组的键名)echo 'array_intersect : ', print_r(array_intersect($array1, $array2), true), '<hr>';echo '2.数组交集键值严格相等型<br>';// 数组交集,键值严格相等echo 'array_intersect_assoc : ', print_r(array_intersect_assoc($array1, $array2), true), '<hr>';echo '3.数组交集键相等型<br>';// 数组交集,键相等(主从数组值不同时,保留主数组的值)echo 'array_intersect_key : ', print_r(array_intersect_key($array1, $array2), true), '<hr>';

$array1 = ['a' => 'b', 'b' => 'a', 1 => 'a', 2 => 'b'];$array2 = [1 => 'a', 'a' => 'b', 'b' => 1];echo '1. 数组差集值相等型<br>';// 数组差集,只需值相等(主从数组键名diff不同时,保留主数组的键名)echo 'array_diff : ', print_r(array_diff($array1, $array2), true), '<hr>';echo '2. 数组差集键值严格相等型<br>';// 数组差集,键值严格相等echo 'array_diff_assoc : ', print_r(array_diff_assoc($array1, $array2), true), '<hr>';echo '3. 数组差集键相等型<br>';// 数组差集,键相等(主从数组值不同时,保留主数组的值)echo 'array_diff_key : ', print_r(array_diff_key($array1, $array2), true), '<hr>';

$array1 = ['a' => 'b', 'b' => 'a', 1 => 'a', 2 => 'b'];$array2 = [1 => 'a', 'a' => 'b', 'b' => 1];echo '1. 数组并集前值覆盖后值型<br>';echo '$arr1 + $arr2 : ', print_r($array1 + $array2, true), '<hr>';echo '2. 数组并集后值覆盖前值型<br>';// 数字索引重排,相同字符串键名,后值覆盖前值echo 'array_merge : ', print_r(array_merge($array1, $array2), true), '<hr>';echo '3. 递归合并:<br>';// 数组递归合并,相同字符串键名,值合并echo 'array_merge_recursive : <pre>', print_r(array_merge_recursive($array1, $array2), true), '</pre><hr>';

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