【问题标题】:PHP push multidimensional arrayPHP推送多维数组
【发布时间】:2017-08-31 04:19:12
【问题描述】:

我从 mySQL(名称和分数)中获得了一些数据,并希望将其推入一个数组中,以便对其进行排序。

$stack = array();

while ($row = mysqli_fetch_array( $db_erg, MYSQLI_BOTH))
    {
      $stack_data = array($row['Name'] => $row['Score']);
      array_push($stack, $stack_data);
    }
     //asort($stack);
     print_r($stack);

我没有对它进行排序。当我打印我的 $stack 数组时,它看起来像这样:

数组 ( [0] => 数组 ( [Nina] => 94 ) [1] => 数组 ( [Tina] => 50 ) [2] => 数组 ( [Tim] => 50 ) [3] => 数组 ( [Anton] => 50 ) [4] => 数组 ( [Jim] => 50 ) [5] => 数组 ( [Tom] => 50 ) [6] => 数组 ( [Ed] = > 50 ) [7] => 数组 ([Bob] => 50 ) )

【问题讨论】:

  • 按哪个键排序?
  • 为什么不在您的查询中添加order by Score!!
  • 尽可能让 MYSQL 完成所有繁重的工作。
  • 我会整天点击 RiggsFolly! +100!如果查询在您的数据库中 100% 不可能,那么 PHP 或任何编程语言数组排序是最后要做的事情。

标签: php mysql arrays sorting


【解决方案1】:

对您的查询进行排序:

SELECT `Name`,`Score` FROM `[tablename]` WHERE `Score`>=50 ORDER BY `Score` DESC,`Name`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多