замыкание массива multideminsiol в соответствии с его значением ключа - PullRequest
0 голосов
/ 27 июня 2011

у меня есть любой массив

[0] => Array
    (
        [value] => 1
        [label] => General
    )

[1] => Array
    (
        [value] => 2
        [label] => Wholesale Customers
    )

[2] => Array
    (
        [value] => 3
        [label] => Public Customers
    )

[3] => Array
    (
        [value] => 4
        [label] => Managers
    )

это многомерный массив в каждом индексе, у меня есть 2 значения ключа и метка, можно ли закоротить этот массив в соответствии с меткой (ZA) означает

[0] => Array
    (
        [value] => 2
        [label] => Wholesale Customers
    )

[2] => Array
    (
        [value] => 3
        [label] => Public Customers
    )

[3] => Array
    (
        [value] => 4
        [label] => Managers
    )
[4] => Array
    (
        [value] => 1
        [label] => General
    )

используя функцию замыкания массива в php, подумайте только о первом коротком индексе 0,1,2,3,4 или 4,3,2,1,0 или о нашем собственном шаблоне определения, но когда у меня много ключей в этом массивене рекомендуется писать каждый раз массив сравнения, поэтому любой способ укорачивать в соответствии со значением определенного ключа в моем желании вывести его метку взятия, содержащую значение «оптовый покупатель», поднимите вверх и «Genral down bottom» сначала, я хочу знатьлюбая нативная функция здесь в php, чтобы сделать это, если нет, то как я могу это сделать, но не с переупорядочением цикла

Ответы [ 2 ]

1 голос
/ 30 мая 2019
function myfun($val1, $val2){
    return ($val1["lable"]<$val2["lable"]) ? 0:1;
}

usort($myarr, "myfun");

print_r($myarr);
0 голосов
/ 27 июня 2011

PHP функция array_multisort(), вероятно, должна сделать это за вас. Посмотрите эту страницу для получения дополнительной информации.

Если нет, то функция uksort() точно будет работать - поскольку вы предоставляете для нее собственную функцию сравнения. Взгляните здесь .

...