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条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助