我似乎无法弄清楚如何使用此数组结构中的变量。我非常熟悉使用关联数组并在其中使用变量值,但冒号结构是我以前从未见过的。
我需要用变量代替“pid”值,而不是硬代码。怎么办呢?
$data = array('methods' => '
[{"method":"main_widget","params":{"pid":"703"}},
{"method":"bottomline","params":{"pid":"703",
"link":"",
"skip_average_score":false}}
]',
'app_key' => 'xxxxxxxxxxxxxxxxxxxxx');
答案 0 :(得分:4)
只需执行$data['methods'] = json_decode($data['methods'])
之类的操作即可将JSON转换为PHP中的对象,或者在本例中为对象数组。
如果要将其用作数组,请将true
作为json_decode的第二个参数传递,它会将解析后的JSON字符串作为数组而不是对象返回。
以前的方式,您可以$data['methods']
作为object->variable
进行迭代,例如
foreach ($data['methods'] as $datum) {
echo "method: $datum->method" . PHP_EOL;
}
答案 1 :(得分:-1)
使用json_decode获取您通常使用的数组。
$array = json_decode($data['methods']);