首页 > 解决方案 > Foreach Json 数组

问题描述

我有数组,其中 get_# 有随机数。需要把foreach所有物品[result][result][get_#RAND_NUM#]拿走[id], [name]。谢谢!大批:

-[result]
--[result]

---[get_1]
----[id] = "1"
----[name] = "dog"

---[get_6]
----[id] = "53"
----[name] = "cat"

标签: phparraysjsonforeach

解决方案


根据 PHP 手册,foreach对数组或对象进行迭代。foreach提供$key$value选项。从这个$keyvar 你可以得到你期望的随机数。

foreach 构造提供了一种迭代数组的简单方法。foreach 仅适用于数组和对象,当您尝试在具有不同数据类型的变量或未初始化的变量上使用它时会发出错误。

$data = ['result' => [
    'result' => [
        'get_1' => ['id' => 1, 'name' => 'doc'],
        'get_6' => ['id' => 2, 'name' => 'cat'],
    ]
]];
$new_data = [];
foreach ($data['result']['result'] as $key => $val) {
    // If you want to get the random number uncomment the below line
    // $random_no = explode('_', $key)[1]; echo $random_no;
    echo "For key {$key}, id = {$val['id']} and name = {$val['name']} </br>";
    $new_data[] = ['id' => $val['id'], 'name' => $val['name']];
}

print '<pre>';
print_r($new_data);

演示


推荐阅读