首页 > 后端开发 > php教程 > 如何在多维 PHP 数组中高效搜索值?

如何在多维 PHP 数组中高效搜索值?

Patricia Arquette
发布: 2024-12-29 14:54:11
原创
187 人浏览过

How Can I Efficiently Search for a Value in a Multidimensional PHP Array?

PHP 多维数组按值搜索以提高效率

在多维 PHP 数组中搜索特定值可能是一项耗时的任务,特别是对于大型阵列。本文介绍了应对这一挑战的有效解决方案。

在用户数据库中按用户 ID (uid) 搜索

考虑以下 2D 用户数据库数组:

$userdb = [
    [
        'uid' => '100',
        'name' => 'Sandra Shush',
        'pic_square' => 'urlof100'
    ],
    [
        'uid' => '5465',
        'name' => 'Stefanie Mcmohn',
        'pic_square' => 'urlof100'
    ],
    [
        'uid' => '40489',
        'name' => 'Michael',
        'pic_square' => 'urlof40489'
    ]
];
登录后复制

目标是搜索特定的 uid 并返回其对应的数组键。例如,search_by_uid(100) 应返回 0。

使用自定义函数进行高效搜索

以下自定义函数提供比使用自定义函数更快的搜索循环:

function searchForId($id, $array) {
    foreach ($array as $key => $val) {
        if ($val['uid'] === $id) {
            return $key;
        }
    }
    return null;
}
登录后复制

用法:

$id = searchForId('100', $userdb);
登录后复制

PHP One-Liner >= 5.5.0

在 PHP >= 5.5.0 中,您可以使用单行代码来搜索数组列:

$key = array_search('100', array_column($userdb, 'uid'));
登录后复制

结论

这些搜索方法显着提高了在多维 PHP 数组中查找值的效率,与手动循环方法相比,提供了更快的执行时间.

以上是如何在多维 PHP 数组中高效搜索值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板