繁体   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