asort导致错误的顺序

时间:2015-01-02 01:28:09

标签: php asort

这看起来很简单..
我有一个在第2行定义的关联数组。
我在第6行调用asort()(不区分大小写)
我的结果在第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 个答案:

答案 0 :(得分:1)

请将||替换为

中的|
asort($a1, SORT_FLAG_CASE || SORT_NATURAL);

我希望这可能有所帮助