91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中怎么利用uasort()自定義排序 多維數組

發布時間:2021-07-29 16:40:58 來源:億速云 閱讀:136 作者:Leah 欄目:web開發

php中怎么利用uasort()自定義排序 多維數組,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

php內置的排序函數很多;正反各種排;

常用的排序函數:

sort() - 以升序對數組排序
rsort() - 以降序對數組排序
asort() - 根據值,以升序對關聯數組進行排序
ksort() - 根據鍵,以升序對關聯數組進行排序
arsort() - 根據值,以降序對關聯數組進行排序
krsort() - 根據鍵,以降序對關聯數組進行排序

基本都能滿足需求了;關于這些函數的使用方法就不多啰嗦了;

但是在項目的實際開發中還是會有些更加苛刻的排序需求;今天要介紹的排序函數是: uasort()

uasort主要是用在需要按照自定義的方法并且保留索引關系對多維數組的排序上;

有如下數組

$sort_array = array(
    "array1" => array(
        'word'=>'test1',
        'sortnumber'=>1,
    ),
    'array3'=>array(
        'word'=>'test4',
        'sortnumber'=>4,
    ),
    'array2'=>array(
        'word'=>'test3',
        'sortnumber'=>3,
    ),
    'array5'=>array(
        'word'=>'test5',
    ),
    'array4'=>array(
        'word'=>'test2',
        'sortnumber'=>2,
    ),
);

需求是按照sortnumber以升序的方式排序;

首先需要寫一個自定義排序的規則;

// 自定義排序函數
function my_sort($a,$b){
    $prev = isset($a['sortnumber']) ? $a['sortnumber'] : 0;
    $next = isset($b['sortnumber']) ? $b['sortnumber'] : 0;
    if($prev == $next)return 0;
    return ($prev<$next) ? -1 : 1;
}
echo '<pre>排序前:<br>';
print_r($sort_array);
uasort($sort_array, "my_sort");
echo "排序后:<br>";
print_r ($sort_array);

得到的結果:

排序前:
Array
(
    [array1] => Array
        (
            [word] => test1
            [sortnumber] => 1
        )

    [array3] => Array
        (
            [word] => test4
            [sortnumber] => 4
        )

    [array2] => Array
        (
            [word] => test3
            [sortnumber] => 3
        )

    [array5] => Array
        (
            [word] => test5
        )

    [array4] => Array
        (
            [word] => test2
            [sortnumber] => 2
        )

)
排序后:
Array
(
    [array5] => Array
        (
            [word] => test5
        )

    [array1] => Array
        (
            [word] => test1
            [sortnumber] => 1
        )

    [array4] => Array
        (
            [word] => test2
            [sortnumber] => 2
        )

    [array2] => Array
        (
            [word] => test3
            [sortnumber] => 3
        )

    [array3] => Array
        (
            [word] => test4
            [sortnumber] => 4
        )

)

看完上述內容,你們掌握php中怎么利用uasort()自定義排序 多維數組的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

新乡县| 仙游县| 阿鲁科尔沁旗| 弋阳县| 锡林郭勒盟| 抚远县| 田林县| 滦南县| 伊宁市| 石家庄市| 儋州市| 芒康县| 龙州县| 农安县| 商南县| 突泉县| 房山区| 辽源市| 高平市| 客服| 博客| 泰顺县| 拉萨市| 资讯| 班戈县| 广德县| 章丘市| 叶城县| 凤山县| 敦化市| 福清市| 中西区| 开封市| 益阳市| 台中县| 康马县| 东辽县| 平武县| 淮安市| 文水县| 云梦县|