php利用array_search与array_column实现二维数组查找

在看php手册数组函数时,看到了一个高赞的用户回答传送门,利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。

<?php 
        $userdb = array(
                0 => array(
                    'uid' => 100,
                    'name' => 'Sandra Shush',
                    'url' => 'urlof100'
                ),
         
            1 => array(
                    'uid' => 5465,
                    'name' => 'Stefanie Mcmohn',
                    'pic_square' => 'urlof100'
                ),
         
            2 => Array(
                    'uid' => 40489,
                    'name' => 'Michael',
                    'pic_square' => 'urlof40489'
                )
        );
         
        $found_key = array_search(40489, array_column($userdb, 'uid'));
        /**
        如果$userdb很大,建议使用一个变量,避免搜索每个元素时都调用array_column()
        $uid = array_column($userdb, 'uid');
        $found_key = array_search(40489, $uid);
         */
        var_dump($found_key);
        打印结果
        int(2)
         
        这时就可以通过$userdb[$found_key]单独取到多维数组中的指定value值得二维数组啦
        var_dump($found_key);
        打印结果 
        Array(3){
                    'uid' => int(40489),
                    'name' => string(7)'Michael',
                    'pic_square' => string(8)'urlof40489'
                }

鼎云博客
支持免登录发表评论
  • 最新评论
  • 总共0条评论