簡體   English   中英

對多維數組進行排序,因此首先需要特定的子數組

[英]Sort multi-dimensional array so specific sub-array is first

我想對數組進行排序,以便將具有特定值的特定數組顯示為該數組中的第一個。

我有的數組:

array = [
        [0] => [
            'id' => 123,
            'name' => 'Random'
        ],
        [1] => [
            'id' => 156,
            'name' => 'keyboard'
        ],
        [2] => [
            'id' => 12235,
            'name' => 'Text'
        ],
    ];

我希望名稱為“ keyboard ”的子數組成為大數組的第一行。

有人有建議嗎?

usort使用用戶定義的比較函數按值對數組排序

$array = [
    0 => [
        'id' => 123,
        'name' => 'Random'
    ],
    1 => [
        'id' => 156,
        'name' => 'keyboard'
    ],
    2 => [
        'id' => 12235,
        'name' => 'Text'
    ],
];

usort($array, function ($item) {
    return  $item['name'] != 'keyboard';
});

print_r($array);

觀看演示

$myArray = [
    [0] => [
        'id' => 123,
        'name' => 'Random'
    ],
    [1] => [
        'id' => 156,
        'name' => 'keyboard'
    ],
    [2] => [
        'id' => 12235,
        'name' => 'Text'
    ],
];

$temp = $myArray[0];
$myArray[0] = $myArray[1];
$myArray[1] = $temp;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM