首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用php对csv列的数据数组进行排序?

如何使用php对csv列的数据数组进行排序?
EN

Stack Overflow用户
提问于 2017-01-13 15:58:41
回答 0查看 593关注 0票数 1

我用php创建了一个可下载的.csv文件。我需要按first_name的字母顺序对数据进行排序,所以我尝试使用asort('$user->first_name');,结果出现错误。我将展示全部代码,也许你们可以帮助我。

代码语言:javascript
运行
复制
public function getTransportationReport()
    {
    header...

    $file = fopen( 'php://output', 'w' );

    fputcsv( $file, array('Departure Location', 'First Name', 'Last Name', 'Group Name', 'Unit', 'Unit Number', 'Phone Number', 'Email Address') );

    $rowed = array();
    $auth_event = \App\Group::find( session()->get( 'event-id' ) );
    $bookings = \App\EventBookings::where('group_id', '=', $auth_event->group_id)->where('chalet_id', '!=', 0)->get();
        if ( $bookings->count() ) {
            foreach ($bookings as $booking) {
            $event_group = \App\EventGroup::find($booking->eg_id);
                if ( $event_group ) {
                $chalet = \App\Chalet::find($booking->chalet_id);
                    if ( $chalet ) {
                    $transpoCharges = \App\EventBookingCharges::where('booking_id', '=', $booking->booking_id)->where('charge_key', 'LIKE', 'transportation')->get();
                        if ( $transpoCharges->count() ) {
                            foreach ($transpoCharges as $transpoCharge) {
                            $jdecode = json_decode($transpoCharge->json);
                            $user = \App\User::find($transpoCharge->user_id);
                            $paidCharges = \App\EventBookingCharges::where('booking_id', '=', $booking->booking_id)->where('status','=',1)->where('user_id','=',$user->user_id)->sum('amount');

                                if ( $user ) {
                                  $rowed[] = array(
                                  $jdecode->location,
                                  $user->first_name,
                                  $user->last_name,
                                  $event_group->name,
                                  $chalet->name,
                                  $chalet->unit_no,
                                  $user->phone,
                                  $user->email,
                                 );

                                }
                            }
                        }
                    }
                }
            }
        $data = $rowed;
            foreach ($data as $row) {
            fputcsv($file, $row);
            }
        }

    exit();
        if ( Auth::user()->user_level == 2 ) {
            return Redirect::to( $auth_event->alias . '/app/etranspo' );
        } else {
            return Redirect::to( '/app/' . $auth_event->alias . '/etranspo' );
        }
    }

如果我单击该按钮,它将只显示file not found,但如果我右键单击该按钮并选择save as,它将下载一个.csv文件,并显示错误消息:error ReportsController.php line 490 the line where asort($user->first_name);is error ReportsController.php line 490 Indirect modification of overloaded property App\User::$first_name has no effect

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41629838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档