我有一个数组,我想在其中搜索uid
,并获取数组的键。
假设我们有以下2维数组:
$userdb = array(
array(
'uid' => '100',
'name' => 'Sandra Shush',
'pic_square' => 'urlof100'
),
array(
'uid' => '5465',
'name' => 'Stefanie Mcmohn',
'pic_square' => 'urlof100'
),
array(
'uid' => '40489',
'name' => 'Michael',
'pic_square' => 'urlof40489'
)
);
函数调用search\u by\u uid(100)
(第一个用户的uid)应返回0
。
函数调用search_by_uid(40489)
应该返回2
。
我试着做循环,但我想要一个执行速度更快的代码。
在PHP的后续版本中(
$key = array_search('100', array_column($userdb, 'uid'));
如果您使用的是(PHP5)
如果只需要一个结果:
$key = array_search(40489, array_column($userdb, 'uid'));
对于多个结果
$keys = array_keys(array_column($userdb, 'uid'), 40489);
如果您有注释中指出的关联数组,您可以使用:
$keys = array_keys(array_combine(array_keys($userdb), array_column($userdb, 'uid')),40489);
如果您使用的是PHP
更新:我已经做了一些简单的基准测试,多结果表单似乎是最快的一个,甚至比Jakub自定义函数还要快!
function searchForId($id, $array) {
foreach ($array as $key => $val) {
if ($val['uid'] === $id) {
return $key;
}
}
return null;
}
这会奏效的。你应该这样称呼它:
$id = searchForId('100', $userdb);
重要的是要知道,如果您使用的是==
运算符,比较的类型必须完全相同,在本例中,您必须搜索字符串
,或者只使用=
。
基于安哥拉的回答。在PHP的更高版本中(
$key = array_search('100', array_column($userdb, 'uid'));
以下是文件:http://php.net/manual/en/function.array-column.php.
问题内容: 我有一个要在其中搜索并获取数组键的数组。 例子 假设我们有以下二维数组: 函数调用(第一个用户的uid)应返回。 函数调用应返回。 我尝试进行循环,但是我想要更快的执行代码。 问题答案: function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val[‘uid’] === $id) { re
问题内容: 我有这个多维数组。我需要搜索它,仅返回与“ slug”的值匹配的键。我知道还有其他有关搜索多维数组的线程,但是我对这些情况的理解还不够。非常感谢您的帮助! 所以我需要一个像这样的函数: 这是数组: 问题答案: 很简单:
问题内容: 我有这个数组 现在,我想按此方法对数组进行排序 ? 目前,我在一个foreach循环中对此进行排序 必须有更好的方法 编辑 我希望输出类似 谢谢 问题答案: 您可以使用usort函数。
问题内容: 我有一个这样的PHP数组: 因此,如何通过url_id 获取基于组的SUM(使用array_count_values) 问题答案: 为什么不更简单
主要内容:实例,实例,三维数组,实例多维数组是包含一个或多个数组的数组。 在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。 一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。 二维数组语法格式: 以上数组的元素会自动分配键值,从 0 开始: 实例 <?php // 二维数组: $cars = array ( array ( " Vol
本文向大家介绍按PHP中的子值对php多维数组进行排序,包括了按PHP中的子值对php多维数组进行排序的使用技巧和注意事项,需要的朋友参考一下 'usort'函数可用于对PHP中的多维数组进行排序。它根据用户定义的条件对数组进行排序- 示例 输出结果 这将产生以下输出- 声明一个包含4个元素的数组,并将此数组传递给usort函数,并在元素上调用用户定义的“ my_sort”函数以确保排序以升序进行