首頁 >頭條 >php常用數組函數(四)

php常用數組函數(四)

无忌哥哥
无忌哥哥原創
2018-06-28 10:34:231866瀏覽

 * 陣列的排序

 * 注意:

 * 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);
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn