Сортировка многомерного массива по значению, содержащему числа и слова - PullRequest
1 голос
/ 27 мая 2020

У меня есть многомерный массив, и мне нужно отсортировать его по значениям. Когда я пытаюсь отсортировать его, я получаю результат print_r().

[0] => Array
        (
            [name] => Memory
            [attribute_values] => Array
                (
                    [0] => Array
                        (
                            [name] => test 1
                            [values] => Array
                                (
                                    [0] => 1 Port
                                    [1] => 10 Port s
                                    [2] => 2 Port w
                                    [3] => 3 Port D
                                    [4] => 5
                                )

                        )

                )

        )

Мне нужно получить вот так:

                    [values] => Array
                        (
                            [0] => 1 Port
                            [1] => 2 Port w
                            [2] => 3 Port D
                            [3] => 5
                            [4] => 10 Port s
                        )

Текст в значениях может сильно отличаться, но я Необходимо отсортировать по номерам в AS C и DES C. Можно?

1 Ответ

2 голосов
/ 27 мая 2020

Использовать естественную сортировку natsort()

$tst = ['1 Port', '10 Port s', '2 Port w', '3 Port D', '5'];

natsort($tst);
print_r($tst);

РЕЗУЛЬТАТ

Array
(
    [0] => 1 Port
    [2] => 2 Port w
    [3] => 3 Port D
    [4] => 5
    [1] => 10 Port s
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...