dongqiyou0303 2017-09-13 15:10
浏览 58
已采纳

PHP搜索并检查Array对象中的值

I have the following data that I would like to search through :

    Array
(
    [0] => stdClass Object
        (
            [id] => 4860
            [module] => Clients
            [level] => 2
            [order] => 1
            [controller] => home
            [function] => clients
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => Manage the partner clients in the  system
            [span_class] => label btn-metis-6 client_info
            [icon_class] => icon-user-md icon-2x
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 6
            [role_id] => 4
        )

    [1] => stdClass Object
        (
            [id] => 4865
            [module] => Appointments
            [level] => 3
            [order] => 1
            [controller] => home
            [function] => appointments
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => View and manage all active Appointments in the  System
            [span_class] => label label-default appointments_info
            [icon_class] => icon-user
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 16
            [role_id] => 4
        )

    [2] => stdClass Object
        (
            [id] => 4870
            [module] => Broadcast Report
            [level] => 7
            [order] => 1
            [controller] => home
            [function] => broadcast_report
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => View all the  Broadcasts that have been sent out to the clients
            [span_class] => label label-default broadcast_info
            [icon_class] => icon-table
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 53
            [role_id] => 4
        )

    [3] => stdClass Object
        (
            [id] => 4861
            [module] => Add Client
            [level] => 2
            [order] => 2
            [controller] => home
            [function] => client
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => Add new client to the  system and at the  same time book first appointment for the  client.
            [span_class] => 
            [icon_class] => icon-user icon-2x
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 8
            [role_id] => 4
        )

    [4] => stdClass Object
        (
            [id] => 4863
            [module] => My Facilities
            [level] => 7
            [order] => 2
            [controller] => admin
            [function] => my_facilities
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => Facilities manager is used to add facilities to a partner's group of Facilities
            [span_class] => label label-default facility_info
            [icon_class] => icon-h-sign
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 12
            [role_id] => 4
        )

    [5] => stdClass Object
        (
            [id] => 4869
            [module] => Adolescents
            [level] => 5
            [order] => 2
            [controller] => home
            [function] => adolescents
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => View the Adolescent client groups 
            [span_class] => label btn-metis-6  groups_info
            [icon_class] => icon-calendar-empty
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 38
            [role_id] => 4
        )

    [6] => stdClass Object
        (
            [id] => 4858
            [module] => Users
            [level] => 6
            [order] => 3
            [controller] => admin
            [function] => users
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => User management windows , used to Add, Edit or Delete(mark as In Active) users in the system 
            [span_class] => label btn-metis-4 users_info
            [icon_class] => icon-user icon-2x
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 3
            [role_id] => 4
        )

    [7] => stdClass Object
        (
            [id] => 4864
            [module] => Deactivated
            [level] => 7
            [order] => 3
            [controller] => home
            [function] => deactivated
            [status] => Active
            [date_added] => 0000-00-00 00:00:00
            [time_stamp] => 2017-08-02 09:39:01
            [description] => List of clients who opted out from the  SMS services.
            [span_class] => label label-default  deactivated_info
            [icon_class] => icon-user
            [created_by] => 1
            [updated_by] => 
            [partner_id] => 
            [user_id] => 264
            [module_id] => 15
            [role_id] => 4
        )

)

I would like to search through the array and check if level exists and what is the value of the index. I tried the following :

$number = array_column($array, 'level');
 $found_key = array_search('2', $number);

              But I get no response . 

Any help on how I check through the array and check if level exists and what is the value that it's holding?

  • 写回答

3条回答 默认 最新

  • douweng1935 2017-09-13 15:17
    关注

    You can filter your array with something like that:

    $filterBy = '2';
    $newArray = array_filter($array, function ($var) use ($filterBy) {
        return ($var['level'] == $filterBy); });
    
    print_r($newArray);
    
    $names = array_column($newArray, 'id');
    
    print_r($names);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历