从JSON返回的PHP关联数组

时间:2014-08-20 10:13:49

标签: php arrays json string associative

我对编程的这个方面很陌生,并试图掌握关联阵列。

(在PHP中)

在API调用之后,我返回了一个JSON字符串,并且我已将其转换为json_decode数组。

我正在严重挣扎以下数组(摘自print_r语句):

Array (
    [GBP-USD] => stdClass Object (
        [val] => 1.6649
    )
    [GBP-EUR] => stdClass Object (
        [val] => 1.2522
    )
    [GBP-CAD] => stdClass Object (
        [val] => 1.8236
    ) etc 

基本上是货币对货币代码及其相关的转换率。

我试图将每个货币兑换成货币代码和相关汇率,然后将汇率转换为2位小数浮点数并显示货币代码和价格并排的列表; 我对最后两位很好,但与货币代码关联的数组元素没有关联值,它的值是一个对象,所以如何访问' val'的值。数组中的元素和相关的货币代码同时?

我已经尝试过这种方法(以及大约100种其他方法),但是当达到$元素['值']时它会失败,因为该值是一个对象:

while ($element = each($curr_data)){
    echo $element['key'].':' .$element['value']. '<br/>';
}

2 个答案:

答案 0 :(得分:0)

您有一组对象,因此要访问该属性,您可以执行此操作。

foreach ($curr_data as $key => $item){
    echo $key.':' .$item->val. '<br/>';
}

答案 1 :(得分:0)

请在此处查看PHP文档PHP: json_decode

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

如果要将JSON解码为关联数组,请将true作为第二个参数传递。