php - 读取数组并找到值
问题描述
从 API 请求中,我收到 JSON 数据。这是数组的转储
Array(
[0] => Array(
[id] => 28257
[price] => 18.50
[meta_data] => Array(
[0] => Array(
[id] => 522793
[key] => meta_image_out
[value] => motor-watermerk.png
)
[1] => Array(
[id] => 522794
[key] => saveLoc
[value] => Balie
)
)
)
)
我想要的数据是来自的值
[1] => Array(
[id] => 522794
[key] => saveLoc
[value] => Balie
)
为此我可以使用
echo $array[0]['meta_data'][1]['value'];
但是数组中的序列可能不同,并且此代码不再有效。
$array[0]['meta_data'][**1**]['value'];
1号也可以2, 3, 4...
如何始终从数组中获取此值?
关键始终是saveLoc
解决方案
尝试这个。无需担心数组索引
$data = [];
foreach ($array as $arr) {
$metaData = $arr['meta_data'];
foreach ($metaData as $metaD) {
if ($metaD['key'] == 'saveLoc') {
$data = $metaD;
break;
}
}
}
推荐阅读
- mysql - 将不同表中的两列相乘
- java - 如何在 Android 中手动正确重新加载 liveData?
- css - 刚接触 Flexbox - 我需要做什么?
- sails.js - 使用缩进 4 初始化新帆?
- javascript - 无法连接到托管在 mlab 上的 MongoDB
- jquery - 内容安全策略:该页面的设置观察到在 http://127.0.0.1:* (“default-src”) 处的资源加载。正在发送 CSP 报告
- amazon-ec2 - 使用 putty 连接到实例
- service - 如何在 XP 中卸载 NetWare 客户端服务 (CSNW)?
- java - 未创建 Hibernate 自动生成的 SQL 表
- c# - COM互操作程序集/包装器的调试源代码