首页 > 解决方案 > 读取数组并找到值

问题描述

从 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

标签: phparraysjson

解决方案


尝试这个。无需担心数组索引

    $data = [];
    foreach ($array as $arr) {
        $metaData = $arr['meta_data'];
        foreach ($metaData as $metaD) {
            if ($metaD['key'] == 'saveLoc') {
                $data = $metaD;
                break;
            }
        }
    }

推荐阅读