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

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

Linda Hamilton
发布: 2024-12-28 03:23:09
原创
696 人浏览过

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

通过值优化进行 PHP 多维数组搜索

在多维数组中搜索特定值时,效率至关重要。传统的循环方法可能既麻烦又耗时,尤其是对于大型数组。

要优化此搜索,请考虑实现自定义函数:

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

此函数迭代数组,比较每个元素的“uid”属性为指定的“id”。如果找到匹配项,则返回相应的数组键。

例如,使用以下数组:

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

调用 'searchForId(100, $userdb)' 将返回 0,调用 'searchForId(40489, $userdb)' 将返回 2。

PHP 版本中的替代方法5.5.0 及以上版本是使用 'array_search' 和 'array_column' 函数:

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

这个单行代码有效地执行与自定义函数相同的任务。

通过合并这些优化,您可以显着提高 PHP 中多维数组搜索的性能。

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

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