Как применить array_multisort к данному массиву?

Добрый вечер. Вот, весь вечер читаю про array_multisort, не могу понять принцип его работы. Подскажите, как применить эту функция к этому массиву, что бы вложенные массивы сртировались по 'nomatch' по возрастанию?

array(8) {
  [1]=>
  array(5) {
    ["nomatch"]=>
    int(0)
    ["name"]=>
    string(10) "text1"
    ["people"]=>
    int(2)
    ["needle"]=>
    bool(false)
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [2]=>
  array(5) {
    ["nomatch"]=>
    int(0)
    ["name"]=>
    string(10) "text2"
    ["people"]=>
    int(2)
    ["needle"]=>
    bool(false)
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [3]=>
  array(5) {
    ["nomatch"]=>
    int(0)
    ["name"]=>
    string(14) "text3"
    ["people"]=>
    int(2)
    ["needle"]=>
    bool(false)
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [4]=>
  array(5) {
    ["nomatch"]=>
    int(0)
    ["name"]=>
    string(23) "text4"
    ["people"]=>
    int(2)
    ["needle"]=>
    bool(false)
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [5]=>
  array(5) {
    ["nomatch"]=>
    int(0)
    ["name"]=>
    string(14) "text5"
    ["people"]=>
    int(2)
    ["needle"]=>
    bool(false)
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [6]=>
  array(5) {
    ["nomatch"]=>
    int(1)
    ["name"]=>
    string(14) "text6"
    ["people"]=>
    int(2)
    ["needle"]=>
    array(1) {
      ["Казарма"]=>
      int(2)
    }
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [7]=>
  array(5) {
    ["nomatch"]=>
    int(1)
    ["name"]=>
    string(25) "text7"
    ["people"]=>
    int(2)
    ["needle"]=>
    array(2) {
      ["text8"]=>
      int(1)
      ["text9"]=>
      int(1)
    }
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
  [8]=>
  array(5) {
    ["nomatch"]=>
    int(1)
    ["name"]=>
    string(22) "text10"
    ["people"]=>
    int(2)
    ["needle"]=>
    array(1) {
      ["text11"]=>
      int(10)
    }
    ["resources"]=>
    array(4) {
      [0]=>
      int(31)
      [1]=>
      int(12)
      [2]=>
      int(10)
      [3]=>
      int(9)
    }
  }
}


(в примере массив отсортирован как надо, но бывает и не так). Буду благодарен за помощь
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
kowap
@kowap Автор вопроса
Все, сходил в туалет и прозрел.
$arr=......// массив который нужно сортировать
$co=[];
      foreach($arr as $item){
        $co[]=$item['nomatch'];
      }
      array_multisort($co, SORT_ASC, $arr);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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