如何用PHP获取同数组层级中指定ID对应的status字段值
方法1:遍历查找(全PHP版本兼容)
通过foreach遍历data子数组匹配对应id即可,示例代码如下:
// 假设你的原数组存储在变量 $array 中 $targetId = 6572561; $targetStatus = null; foreach ($array['data'] as $item) { if ($item['id'] == $targetId) { $targetStatus = $item['status']; break; // 匹配到后直接退出循环提升效率 } } // 输出结果为你要的状态值:DELIVERY echo $targetStatus;
方法2:array_column快速映射(PHP 5.5+ 支持)
如果你的PHP版本高于等于5.5,可以用array_column直接把id映射为键、status映射为值,一步取值:
$targetId = 6572561; $statusMap = array_column($array['data'], 'status', 'id'); $targetStatus = $statusMap[$targetId] ?? null; // ??语法为PHP7+支持,低版本可替换为isset判断
注意:PHP数组键名大小写敏感,你给出的原数组里状态的键名为全小写的
status,如果实际业务里键名是大写STATUS,替换对应键名即可。
内容的提问来源于stack exchange,提问作者M. Pancadewa
相关产品推荐
相关产品推荐

