【问题标题】:asort results in wrong orderasort 导致错误的顺序
【发布时间】:2015-02-28 10:38:25
【问题描述】:

这似乎很简单..
我在第 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 )"
?>

【问题讨论】:

    标签: php asort


    【解决方案1】:

    请将||替换为|

    asort($a1, SORT_FLAG_CASE || SORT_NATURAL);
    

    希望对你有帮助

    【讨论】:

    • 天哪,谢谢。我必须等待 11 分钟才能接受。
    • 很高兴它有帮助 :) 2015 年新年万事如意。
    猜你喜欢
    • 1970-01-01
    • 2020-09-29
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2015-11-23
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多