Результаты сортировки в неправильном порядке

Это кажется таким элементарным..
У меня есть ассоциативный массив, определенный в строке 2.
Я вызываю asort() в строке 6 (без учета регистра)
Мои результаты в строке 8, которые неверны.
То, что я ожидаю / хочу, находится в строке 10.
Может мне на этом спать?

<?php
  $a1 = array( 1 => 'Brad', 2 => 'Chas', 3 => 'adam');
  print_r($a1);
  // prints "Array ( [1] => Brad [2] => Chas [3] => adam )"
  echo "<br >\n";
  asort($a1, SORT_FLAG_CASE || SORT_NATURAL);
  print_r($a1); //
  // prints "Array ( [3] => adam [2] => Chas [1] => Brad )" - wrong
  // what I expect/want is
  //        "Array ( [3] => adam [1] => Brad [2] => Chas )"
?>

1 ответ

Решение

Пожалуйста, замените || с | в

asort($a1, SORT_FLAG_CASE || SORT_NATURAL);

Я надеюсь, что это может помочь

Другие вопросы по тегам