php - PHP 在其他操作之前对数组进行排序
问题描述
为每个循环做,但数据乱序我尝试了几种变体,但无法对子数组进行排序
为每个循环运行这个
@foreach($record->criteria_list as $optKey=>$options)
我需要根据以下字段进行排序,并使主数组($record)在 for 循环之前排序
$options->total_passed_user
其他 9 个示例(我已经尝试过)和下面的 2 个示例是这些示例的一部分正在出错...页面不会加载....是的,它是刀片/laravel,但这并不重要,因为我试图对这个数组进行排序在循环和 phpformatting.page 加载并且所有代码正常工作之前,只是项目的顺序不合适,并试图根据 $options->total_passed_user 重新排序
@foreach($record->criteria_list as $optKey=>$options)
<?php
$correctPercentage = ( $record->total_test_completed_count) ? round(($options->total_passed_user/$record->total_test_completed_count)*100):0;
ETC.......
解决方案
我认为,usort
功能会起作用。http://php.net/manual/en/function.usort.php
示例 1(在 PHP ≥7.0 中):推荐的解决方案
usort($record->criteria_list, function ($a, $b) {
return $a->total_passed_user <=> $b->total_passed_user;
});
...
@foreach($record->criteria_list as $optKey=>$options)
示例 2:
function cmp_by_total_passed_user($a, $b) {
return $a->total_passed_user - $b->total_passed_user;
}
...
usort($record->criteria_list, "cmp_by_total_passed_user");
....
@foreach($record->criteria_list as $optKey=>$options)
推荐阅读
- java - 在 Java 中使用 Ubuntu $Home
- sql - 如何编写 cratedb 迁移脚本?迁移脚本不起作用
- java - 如何修复 android studio 中的“无法解决:com.android.volly:volly:1.1.1”错误
- azure - 在 logback.xml 中使用 Azure 应用程序洞察附加程序时,gradle 构建挂起
- java - 在静态服务中返回数据源的静态方法
- c# - 如何使用 AddLine 创建 X 长度的线
- html - 将页面划分为 6
- java - system.getenv() 属性不读取外部 logback.xml 文件的文件路径
- php - 如何在 PHP 中解码这些字符?
- asp.net - Asp.net:如何将值从文本框分配到数据库以及从数据库分配到标签,确切地说是您在文本框中键入它的方式