php - 检查其中一个对象中是否存在密钥
问题描述
我想检查其中一个对象中是否存在密钥:
array (size=2)
0 =>
object(stdClass)[1631]
public 'label' => string 'Monsieur' (length=8)
public 'value' => string '1' (length=1)
public 'selected' => boolean true
1 =>
object(stdClass)[1633]
public 'label' => string 'Madame' (length=6)
public 'value' => string '2' (length=1)
在示例中,我有一个包含两个对象的数组,第一个包含“选定”键。如果其中一个包含“选定”键,我想返回 true。如果对象不包含“选定”键,我想返回 false。
我可以有两个以上的对象。这仅用于示例。有这个功能吗?
解决方案
您可以使用简单的循环来完成这项工作
$res = false;
foreach($arr as $item){
if (isset($item->selected))
$res = true;
}
在演示中检查结果
请注意,如果您的数组很大,则break
在查找目标键时需要循环以防止额外检查
您也可以使用array_filter()
$res = !!array_filter($arr, function($item){
return isset($item['selected']);
});
推荐阅读
- c# - 反序列化嵌套在自身中的 XML 节点
- sql-server - 仅从字符串的开头替换非字母字符
- grpc - Quarkus 阻塞 grpc vert.x 事件循环错误
- sql - 根据其他列格式化代理键
- python - 福尔摩斯 argparse 模块任务
- python-3.x - 使用 Python 3 代码中的 asyncio,我怎样才能(重新)启动/停止非阻塞 websocket IO?
- c - 为什么我的 C 程序打印出垃圾值?
- spring - 当我使用spring boot 2.4.0时如何降级elasticsearch版本?
- linux - /var/lib/docker/volumes/backingFsBlockDev 的文件权限“b”
- java - 如何解决 gradle build 中的 OutOfMemory 错误?