Задать вопрос
@xGreen_Max

Как сортировать вложенный массив по возрастанию?

Первый вложенный массив строк в массиве $str сортируется как задумано, то есть в алфавитном порядке.
Но второй вложенный массив цифр по идее должен сортироваться по возрастанию, то есть 2,3,4,5,6
Но этого не происходит, как это исправить?

$str = [

["а", "в", "б", "д", "г"],
[2,5,6,3,4],

];


array_multisort($str[0], SORT_STRING, $str[1],  SORT_ASC);

echo implode(',', $str[0])."<br>";
echo implode(',', $str[1]);
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
array_multisort если внимательно почитаете документацию в вашем случае работает не так как вы ожидаете
используйте просто две отдельных явных сортировки

<?php
$str = [
    ["а", "в", "б", "д", "г"],
    [2,5,6,3,4],
];

natsort($str[0]);
natsort($str[1]);

echo implode(',', $str[0])."<br>";
echo implode(',', $str[1]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы