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中文网其他相关文章!