Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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 使用Foreach函数从数组中回显每个项_Php_Json - Fatal编程技术网

Php 使用Foreach函数从数组中回显每个项

Php 使用Foreach函数从数组中回显每个项,php,json,Php,Json,我对PHP JSON查询没有太多经验,我很好奇是否有人能帮我 我试图对JSON数组中的每种颜色进行foreach调用(如下所示) 像这样的 foreach($json->data->colors as $color){ echo '<option value="'.$color.'">'.$color.'</option>'; } 任何帮助都将非常感激 如果要解析JSON数据,请在JSON字符串上使用JSON\u decode()。然

我对PHP JSON查询没有太多经验,我很好奇是否有人能帮我

我试图对JSON数组中的每种颜色进行foreach调用(如下所示)

像这样的

foreach($json->data->colors as $color){
  echo '<option value="'.$color.'">'.$color.'</option>';
}

任何帮助都将非常感激

如果要解析JSON数据,请在JSON字符串上使用
JSON\u decode()
。然后像现在这样循环解析JSON变量

完整代码:

<?php

$jsonString = '{
    "data": {
        "colors": [
            "Red",
            "Blue",
            "Green",
            "Yellow",
            "Pink"
        ],
        "Shapes": [
            "Square",
            "Rectangle",
            "Circle",
            "Triangle"
        ]
    }
}';

$json = json_decode($jsonString);

echo '<select type="select" name="select">';
foreach($json->data->colors as $color){
  echo '<option value="'.$color.'">'.$color.'</option>';
}
echo '</select>';

?>


当前代码有什么问题?如何将JSON文件转换为
$JSON
?太好了,非常感谢!我没有使用
json\u decode
函数。我不想麻烦你,但我还有最后一个问题。是否可以在一个页面中定义JSON文件并在另一个页面上使用?我已经在
config.php
中定义了
file\u get\u contents(“file.json”)
,但是当我使用
require('config.php')
转到另一个目录中的索引页时,它抛出并错误地说该文件不存在。我假设它试图将JSON定位在与索引页相同的目录中。是的,您可以。确保提供config.php文件的绝对或相对路径。
<?php

$jsonString = '{
    "data": {
        "colors": [
            "Red",
            "Blue",
            "Green",
            "Yellow",
            "Pink"
        ],
        "Shapes": [
            "Square",
            "Rectangle",
            "Circle",
            "Triangle"
        ]
    }
}';

$json = json_decode($jsonString);

echo '<select type="select" name="select">';
foreach($json->data->colors as $color){
  echo '<option value="'.$color.'">'.$color.'</option>';
}
echo '</select>';

?>