如何检查 PHP 中嵌套数组中存在的给定值?

How to check given value present in nested array in PHP?

我是 PHP 的新手,我想检查关联数组中存在的值,请帮助我完成这件事。

public $array=[
  'id','name',
  'value.details'=>['type'=>'myFunction']
];
foreach($array as $key=>$condition){
if(in_array('myFunction',$array)){
//My logic
}
}

如果你知道钥匙: if($array['value.details']['type'] === 'myFunction') { }

如果您遍历数组:

foreach($array as $key=>$val) {
    if(is_array($val) && in_array('myFunction', $val)) {
        //
    }
}

您的数组是字符串和数组的混合,您可能还想检查数组中的数组。

$array=[
  'id','name',
  'value.details'=>['type'=>'myFunction']
];

$query = 'myFunction';    
$isPresent = false;

foreach ($array as $data) {
    if (gettype($data) === "array") {
        foreach ($data as $val) {
            if ($val === $query) {
                $isPresent = true;
                continue;
            }
        }
    } else {
        if ($query === $data) {
           $isPresent = true;
           continue;
        }
    }
}