当前位置: 首页 > 面试题库 >

PHP多维数组按值搜索

羊柏
2023-03-14
问题内容

我有一个要在其中搜索uid并获取数组键的数组。

例子

假设我们有以下二维数组:

$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_by_uid(100)(第一个用户的uid)应返回0

函数调用search_by_uid(40489)应返回2

我尝试进行循环,但是我想要更快的执行代码。


问题答案:

function searchForId($id, $array) {
foreach ($array as $key => $val) {
if ($val[‘uid’] === $id) {
return $key;
}
}
return null;
}


这将起作用。您应该这样称呼它:

$id = searchForId('100', $userdb);

重要的是要知道,如果你使用的是很重要的===运营商相比,类型必须完全相同,在这个例子中,你必须寻找string或只是使用==代替===

$key = array_search('100', array_column($userdb, 'uid'));

这是文档:http://doc.codingdict.com/php-ref/index.html



 类似资料:
  • 我有一个数组,我想在其中搜索,并获取数组的键。 假设我们有以下2维数组: 函数调用(第一个用户的uid)应返回。 函数调用应该返回。 我试着做循环,但我想要一个执行速度更快的代码。

  • 问题内容: 我有这个多维数组。我需要搜索它,仅返回与“ 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”函数以确保排序以升序进行