排序多维数组,因此首先是特定的子数组

问题描述 投票:1回答:2

我想对数组进行排序,以便将具有特定值的特定数组显示为数组中的第一个。

我有的阵列:

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

我希望名为'keyboard'的子数组成为大数组中的第一个。

有没有人有建议?

php arrays sorting
2个回答
2
投票

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);

demo


0
投票
$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;
© www.soinside.com 2019 - 2024. All rights reserved.