简体   繁体   English

如何在php中使用键值将数组排序为数组

[英]How can I sort array into array with key value in php

I want to sort a PHP array that have multiple array with key values.我想对具有多个带键值的数组的 PHP 数组进行排序。

Sample Array:样本数组:

Array
(
[1240830] => Array
    (
        [name] => Jannah
        [order] => 8
    )

[1240831] => Array
    (
        [name] => Eadie
        [order] => 10
    )

[1240832] => Array
    (
        [name] => abc@yahoo.ca
        [order] => 0
    )

[1240911] => Array
    (
        [name] => on
        [order] => 0
    )

)

So I need array that sorted according to Order value in ASC.所以我需要根据 ASC 中的Order值排序的数组。 How can I achieve this?我怎样才能做到这一点?

为此,您可以使用usort ( https://www.php.net/manual/en/function.usort.php )。

usort($sampleArray, function ($a, $b) { return $a['order'] - $b['order']; }

You can use your simple own function for that by specifying which column you want to use for sorting:您可以通过指定要用于排序的列来使用您自己的简单函数:

    function arr_multisort($arr, $column) {
        $c = array_column($arr, $column);
        array_multisort($c, SORT_ASC, $arr);
        return $arr;
    }

In your case:在你的情况下:

$sortedArray = arr_multisort($originalArray, 'order');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM