Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何循环使用以“开始”开头的字段的JSON数组$&引用;_Php_Json - Fatal编程技术网

PHP-如何循环使用以“开始”开头的字段的JSON数组$&引用;

PHP-如何循环使用以“开始”开头的字段的JSON数组$&引用;,php,json,Php,Json,我一直在尝试如何循环并输出字段名以“$”开头的json文件的内容,并不断得到一个未定义的变量错误消息 下面是一个json文件示例(摘自): 我正在用一个静态字符串进行测试,只是想让它工作起来。这是我的测试代码 <?php $input = '[{"$distinct_id":"13b20239a29335","$properties":"dddd"}]'; $jsonObj = json_decode($input, true); foreach ($jsonO

我一直在尝试如何循环并输出字段名以“$”开头的json文件的内容,并不断得到一个未定义的变量错误消息

下面是一个json文件示例(摘自):

我正在用一个静态字符串进行测试,只是想让它工作起来。这是我的测试代码

<?php

    $input = '[{"$distinct_id":"13b20239a29335","$properties":"dddd"}]';
    $jsonObj = json_decode($input, true);

    foreach ($jsonObj as $item) {
        foreach ($item as $rec) {
            echo '<br>';
            $my_id = $rec->$distinct_id;
            echo($my_id);
            $my_id = $rec->$properties;
            echo($my_id);
        }
        echo '<br>';
    }
?>

任何帮助都将不胜感激

诺布

更新:Musa给出了一个适用于单级json的示例: foreach($jsonObj作为$item){

echo'
'; $my_id=$item->{'$distinct_id'}; echo($my_id); $my_id=$item->{'$properties'}; echo($my_id); 回声“
”;
}


然后,如何将其调整为读取和输出更大的多级json文件的所有元素?

使用花括号表示法

$object->{'$property'};
编辑

foreach($jsonObj作为$item){
回声“
”; $my_id=$item->{'$distinct_id'}; echo($my_id); foreach($item->{'$properties'}作为$my_prop=>$value){ echo($my_prop=>$value”); } 回声“
”; }

使用嵌套循环,您正在迭代属性
$distinct\u id
$properties
,因此
$rec
实际上是一个字符串而不是一个对象


此外,您的json无效,因为它在
$properties
字段中有尾随

感谢您的Musa。非常感谢。然后,我如何循环使用主json文件中的深层元素?
    echo '<br>';
    $my_id = $item->{'$distinct_id'};
    echo($my_id);
    $my_id = $item->{'$properties'};
    echo($my_id);

echo '<br>';
$object->{'$property'};
foreach ($jsonObj as $item) {

        echo '<br>';
        $my_id = $item->{'$distinct_id'};
        echo($my_id);
        foreach ($item->{'$properties'} as $my_prop => $value){
            echo("$my_prop => $value");
        }

    echo '<br>';
}