Php 如何对foreach中的对象数组进行排序?(更新)
预订时间已经表明,我的问题是如何将预订量最高的项目排序到预订量最低的项目。欢迎提供任何答案和建议。先谢谢你Php 如何对foreach中的对象数组进行排序?(更新),php,Php,预订时间已经表明,我的问题是如何将预订量最高的项目排序到预订量最低的项目。欢迎提供任何答案和建议。先谢谢你 <div class="row"> @if(!empty($Service) && count($Service)) @foreach($Service['result'] as $value) @foreach($value as $val) <?php $arrange = ar
<div class="row">
@if(!empty($Service) && count($Service))
@foreach($Service['result'] as $value)
@foreach($value as $val)
<?php
$arrange = array($val['bookedTimes']);
arsort($arrange);
foreach($arrange as $x => $x_value) {
echo $x_value;
}
?>
@endforeach
@endforeach
@else
<div class="col-lg-12 col-md-12"><h4>Data Not Found! </h4> </div>
@endif
</div>
@如果(!空($Service)和计数($Service))
@foreach($Service['result']作为$value)
@foreach(价值为$val)
@endforeach
@endforeach
@否则
找不到数据!
@恩迪夫
这是需要按降序排列的预定时间数据
在第一次迭代的起点之后放置一个
usort
函数,您将在第二次迭代中获得排序后的bookTimes
<div class="row">
@if(!empty($Service) && count($Service))
@foreach($Service['result'] as $value)
<?php
usort( $value, function ( $a, $b )
{
//$b should come first as you want to sort in descending order
return $b['bookedTimes'] <=> $a['bookedTimes'];
});
?>
@foreach($value as $val)
@endforeach
@endforeach
@else
<div class="col-lg-12 col-md-12"><h4>Data Not Found! </h4> </div>
@endif
</div>
@如果(!空($Service)和计数($Service))
@foreach($Service['result']作为$value)
@foreach(价值为$val)
@endforeach
@endforeach
@否则
找不到数据!
@恩迪夫
在第一次迭代的起点之后放置一个usort
函数,您将在第二次迭代中获得排序后的bookTimes
<div class="row">
@if(!empty($Service) && count($Service))
@foreach($Service['result'] as $value)
<?php
usort( $value, function ( $a, $b )
{
//$b should come first as you want to sort in descending order
return $b['bookedTimes'] <=> $a['bookedTimes'];
});
?>
@foreach($value as $val)
@endforeach
@endforeach
@else
<div class="col-lg-12 col-md-12"><h4>Data Not Found! </h4> </div>
@endif
</div>
@如果(!空($Service)和计数($Service))
@foreach($Service['result']作为$value)
@foreach(价值为$val)
@endforeach
@endforeach
@否则
找不到数据!
@恩迪夫
arsort将数组按相反顺序排序。它有两个参数。第二个问题是如何解释数组的元素
要确保获得数字排序,可以使用:
arsort($arrange, SORT_NUMERIC)
arsort将数组按相反顺序排序。它有两个参数。第二个问题是如何解释数组的元素 要确保获得数字排序,可以使用:
arsort($arrange, SORT_NUMERIC)
您可以在控制器中使用
orderBy
,然后将其传递给您的视图。@dqureshiumar如何实现它您可以在控制器中使用orderBy
,然后将其传递给您的视图。@dqureshiumar如何实现我收到了以下错误:非法字符串偏移量“booked-times”您必须将booked-times
字符串更改为name
由于名称索引包含值,请用Mine替换您的cmp函数,在post中共享您的错误,因为您在非法偏移中遇到错误。明白了,您正在使用图书时间而不是名称进行排序。很抱歉出错。好的,为什么不使用orderBy
让我们从雄辩的排序中排序呢。嗨,我得到了这个错误:非法的字符串偏移量'booked-times',你必须将booked-times
字符串更改为name
,因为名称索引包含值,请用mine替换你的cmp函数,在文章中分享您的错误,因为您在非法偏移中遇到错误。明白了,您正在使用图书时间而不是名称进行排序。很抱歉出错。好的,为什么不使用orderBy
让我们从雄辩的排序中排序呢。