Rumah  >  Artikel  >  php常用数组函数(四)

php常用数组函数(四)

无忌哥哥
无忌哥哥asal
2018-06-28 10:34:231848semak imbas

 * 数组的排序

 * 注意:

 * 1.数组为引用传参,所有原数据会被改写; 

 * 2.数组元素的类型建议全部相同,否则会产生不可预见结果

 * 3.排序成功返回: true,失败返回: false

 * 可用常量:

 *  1.SORT_REGULAR: [默认]正常比较单元(不改变类型)

 *  2.SORT_NUMERIC: 单元被作为数字来比较

 *  3.SORT_STRING: 单元被作为字符串来比较

 *  4.SORT_NATURAL: 单元以“自然的顺序”对字符串进行排序

 *  5.SORT_FLAG_CASE: 不区分大小写排序字符串

 * 一. 正序: associate(关联的), key(键),前面加上这二个单词的首字母表示

 * 1. sort(&$arr, $flag) 按值升序排列,键名按索引方式重置

 * 2. asort(&$arr,$flag) 按值升序排列,键名保留与值的对应

 * 3. ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变

 * 二、反序: reversal 反转,函数前添加一个r即可

 * 1. rsort(&$arr, $flag):对数组逆向排序

 * 2. arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系

 * 3. krsort(&$arr, $flag):对数组按照键名逆向排序

 * 三、自定义回调函数进行排序: usort(&$arr, functoin($a, $b){ #code })

 * 注意: 仅对值进行排序,忽略键名(即会重置键名)

$arr = ['id'=>3, 'name'=>'zhu', 'course'=>'php', 'grade'=>60, 5=>true];
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
echo &#39;<p>原始数组:</p>&#39;;
print_r($arr);
echo &#39;<hr color="red">&#39;;

//这里介绍一个非常简单的例子,更复杂的案例,会在实战中进行介绍 

$arr1 = [10, 4, 22, 99, 35, 18];

//下面我们用自定义回调方法对$arr1进行由小到大排列

usort($arr1, function($a, $b) {
$res = $a - $b; 
if ($res == 0) {
return 0;
} else if ($res > 0) {
return true;
} else {
return false;
}
});
print_r($arr1);
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php数组的遍历技巧Artikel seterusnya:php字符串函数(一):长度计算