首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查多维数组的任何子数组中的特定键处是否存在特定值

检查多维数组的任何子数组中的特定键处是否存在特定值
EN

Stack Overflow用户
提问于 2011-08-09 10:41:02
回答 12查看 143.9K关注 0票数 68

我需要在一个多维数组中搜索任何索引子数组中的特定值。

换句话说,我需要检查多维数组的一列中是否有值。如果该值存在于多维数组中的任何位置,我希望返回true,否则返回false

代码语言:javascript
复制
$my_array = array(    
    0 =>  array(  
        "name"   => "john",  
        "id"    =>  4  
    ),  
    1   =>  array(  
        "name" =>  "mark",  
        "id" => 152  
    ), 
    2   =>  array(  
        "name" =>  "Eduard",  
        "id" => 152  
    )
);

我想知道检查数组$my_array是否包含键为"id“的值的最快、最有效的方法。例如,如果在多维数组中的任何位置使用id => 152,我希望使用true

EN

回答 12

Stack Overflow用户

发布于 2011-08-09 10:43:38

没有什么比简单的循环更快的了。你可以混合搭配一些数组函数来做这件事,但它们也会被实现为一个循环。

代码语言:javascript
复制
function whatever($array, $key, $val) {
    foreach ($array as $item)
        if (isset($item[$key]) && $item[$key] == $val)
            return true;
    return false;
}
票数 84
EN

Stack Overflow用户

发布于 2015-03-24 21:19:30

以下是Dan Grossman的答案的更新版本,它将迎合多维数组(我想要的):

代码语言:javascript
复制
function find_key_value($array, $key, $val)
{
    foreach ($array as $item)
    {
        if (is_array($item) && find_key_value($item, $key, $val)) return true;

        if (isset($item[$key]) && $item[$key] == $val) return true;
    }

    return false;
}
票数 25
EN

Stack Overflow用户

发布于 2016-06-21 12:02:22

** PHP >= 5.5

简单地说,你可以使用这个

代码语言:javascript
复制
$key = array_search(40489, array_column($userdb, 'uid'));

让我们假设这个多维数组:

代码语言:javascript
复制
$userdb=Array
(
(0) => Array
    (
        (uid) => '100',
        (name) => 'Sandra Shush',
        (url) => 'urlof100'
    ),

(1) => Array
    (
        (uid) => '5465',
        (name) => 'Stefanie Mcmohn',
        (pic_square) => 'urlof100'
    ),

(2) => Array
    (
        (uid) => '40489',
        (name) => 'Michael',
        (pic_square) => 'urlof40489'
    )
);

$key = array_search(40489, array_column($userdb, 'uid'));
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6990855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档