php中如何判断某个value值在一个二维数组中?求最简单的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中如何判断某个value值在一个二维数组中?求最简单的方法相关的知识,希望对你有一定的参考价值。

$arr=array (
array (
"patientname":"啊啊啊啊啊啊啊啊啊啊",
"phonenumber":"啊啊啊啊啊啊啊啊啊啊",
"id": "86",
"sex": "男",
"Contact": "",
"diagnosis":"sss",
"visittime": "",
"visitdegree":"0",
)
,
array (
"patientname":"SdgedfE",
"phonenumber":"",
"id":"85",
"sex":"男",
"Contact": "",
"diagnosis":"sss",
"visittime":"",
"visitdegree": "0",
)
,
array (
"patientname":"degeS",
"phonenumber":"12222",
"id": "84",
"sex":"男",
"Contact": "",
"diagnosis":"ssss",
"visittime":"",
"visitdegree":"0",
));
$patientname="degeS";//这是从另一个php中传过来的值
$phonenumber="12222";
现在要判断这两个值是否存在上面的数组中,求最简单的方法,不想用循环遍历的方法,因为会和后面的功能冲突。谢谢,求代码。

参考技术A

    php没有自带的array函数能够直接实现的,像原生in_array array_search也是用C或者C++封装起来的循环遍历;

    遍历不可避免,特殊需求就特殊处理,自个写一个方法掉用一下。


本回答被提问者采纳
参考技术B 两个方法。一 你写个函数,自己调用。二 用array_filter()函数追问

我是个新手,能具体点吗?调函数怎么调,上面的函数我看手册了,可是我这个是二维的怎么用呀?

追答

第一个 http://bbs.csdn.net/topics/390957435
第二个 http://www.dewen.io/q/2354

php判断二维数组中是否含有某个值

$arr = array(  
   array(‘a‘, ‘b‘),  
   array(‘c‘, ‘d‘)  
);  
    
in_array(‘a‘, $arr); // 此时返回的永远都是 false  
deep_in_array(‘a‘, $arr); // 此时返回 true 值  
    
function deep_in_array($value, $array) {   
    foreach($array as $item) {   
        if(!is_array($item)) {   
            if ($item == $value) {  
                return true;  
            } else {  
                continue;   
            }  
        }   
            
        if(in_array($value, $item)) {  
            return true;      
        } else if(deep_in_array($value, $item)) {  
            return true;      
        }  
    }   
    return false;   
}

 

以上是关于php中如何判断某个value值在一个二维数组中?求最简单的方法的主要内容,如果未能解决你的问题,请参考以下文章

C++中如何在一个二维数组中查找某个值

php中一个二维数组,怎么吧数组中的数据作为value插入到数据库某个表中

PHP二维数组怎么按某个字段排序

php 如何取二维数组中某个值,并组合成另一个一维数组进行implode

PHP二维数组根据某个元素(key)去重

php 中 判断数组中是不是有值