php - 对 foreach 循环结果进行排序

标签 php mysql foreach joomla joomla3.0

我想在我的 VIEWS 中的 foreach 循环中按 $distance base 对它进行排序。所以这是我在模型中的代码

    $db = $this->getDbo();
    $query = $db->getQuery(true)
                ->select('*')
                ->from('#__load');

    $db->setQuery($query);               
    $db->query();
    $rows = $db->loadObjectList();
    return $db->loadObjectList();

这是我的 View 中的代码,我想按距离对其进行排序

  foreach ($this->items as $i => $item) {  
       $distance = $item->result1 * $item->result2        
  sort($distance)
}

echo $distance

结果

3, 6, 2, 7, 8

我想这样显示

2, 3, 6, 7, 8

最佳答案

sort 对数组起作用,而您正在做的是对数组中的每个项目调用 sort,但它不起作用。

你可以做的是做你的 foreach 循环,然后排序:

  $array = [];
  foreach ($this->items as $i => $item) {  
      $distance = $item->result1 * $item->result2;        
      $array[] = $distance;
  }
  sort($array);
  var_dump($array);

https://www.php.net/manual/en/function.sort.php

关于php - 对 foreach 循环结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58135458/

相关文章:

php - Netbeans PHP/javascript 突出显示

php - 如何在 codeigniter 中将 URL 作为 Controller 方法的参数传递

mysql - SQL 查询只返回某一列中具有最高值的行

php - mysql将同一列中的相同值分组到回显表

Ruby CSV 库从文件 : Determining source file encoding to be provided to foreach method 读取

php:如何使用准备好的语句从 sql 获取用户名或电子邮件

php - 一次将多行插入MySQL

php - Joomla 注册 MySQL 错误

c# - foreach 在循环函数结果时如何工作?

java - 我们应该遍历 map 吗?为什么?