Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何对foreach中的对象数组进行排序?(更新)_Php - Fatal编程技术网

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
让我们从雄辩的排序中排序呢。