微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用php进行数组搜索

这是我的代码与示例数组..如果用户搜索523465然后索引应该返回主数组userdb..ihave尝试了几种方式但未能得到正确的输出.有人帮我吗?

   <?PHP
   $userdb = Array (
        (0) => Array (
            (uid) => Array (
                    (0) => Array (
                            '10770' 
                    ),

                    (1) => Array (
                            '523465' 
                    ),

                    (2) => Array (
                            '4042389' 
                    ) 
            ),
            (name) => 'Sandra Shush',
            (url) => 'urlof100' 
    ),

    (1) => Array (
            (uid) => Array (
                    (0) => Array (
                            '102320' 
                    ),

                    (1) => Array (
                            '532465' 
                    ),

                    (2) => Array (
                            '40432389' 
                    ) 
            ),
            (name) => 'Stefanie Mcmohn',
            (pic_square) => 'urlof100' 
    ));
    echo '<pre>';
    print_r(array_column ( $userdb, 'uid' ));
    $key = array_search ( 5432365, array_column ( $userdb, 'uid' ) );

    echo ("The key is: " . $key);

解决方法:

需要几个foreach循环.这是我为你写的功能.第一个参数是您的数组,第二个参数是您要搜索的值.

function searchArrayKey($userdb,$given_value){

foreach ($userdb as $firstkey => $val) {

    foreach ($val as $secondkey => $nestedarray){

        foreach ($nestedarray as $thirdkey => $thirdnestedarray){
            if ($thirdnestedarray['0'] == $given_value){
                return $firstkey;
            }
        }
    }
}

}

然后用来获取主数组的键

print_r (searchArrayKey($userdb, 523465));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐