检查是否存在确切的数字 PHP



在一个 JSON 文件中,我有多个名称为typekeys,它们的valuesnumeric。我想做的是检查是否存在确切的number。问题是,如果有两个values具有相同的digit它向我显示两个 TRUE。 例如41 & 1.

到目前为止我尝试过什么

$regex = '/^1$/';
foreach ($value['events'] as $event) { 
if ($event['type'] == $regex) {
echo 'Exist';
}     
}  

谢谢

您可以使用array_column()in_array()

if (in_array(1, array_column($value['events'], 'type'))) {
echo "Exist";
}

我输入的内容与 Barmar 的答案相同,但这是另一种选择。只需过滤掉与您的数字不相等的那些:

if(array_filter($value['events'], function($v) { return $v['type'] == 1; })) {
echo "Exist";
}

如果您需要测试多个条件,例如:

return ($v['type'] == 1 || $v['type'] == 2);
//or
return ($v['type'] == 1 && $v['other'] == 'X');

最新更新