从json数组中提取数据并根据类型分离

时间:2014-03-10 22:10:31

标签: php arrays json

所以我目前正在尝试使用json_decode($result,true)从json数组中提取信息。这里的背景是有另一个PHP脚本从数据库获取信息,它将数据作为json_encoded结果发送给我。

使用print_r($json)我得到以下

Array
(
[result] => 1
[message] => Query Successful
[data] => Query Output
[0] => Array
    (
        //Several values

        [test] => test
        [Example] => catcatcat
        [choice2] => B

    )
[1] => Array
     [test]=> test
//etc....

我知道我们可以使用一个简单的for循环来显示一些东西,或者在这种情况下我使用了

for($i=0;$i<=count($json); $i++){
    echo $json[$i]['test'];
    //etc etc
}

,这将显示该值。但我无法弄清楚如何将其作为列表输出发送到我的HTML页面。

我想让它显示如下

  1. 测试catcatcat B
  2. 测试等等
  3. - 这可能是一个单独的问题,但对我来说,我想知道是否可以实际分解数组并将其作为无线电输入发送到html并将其转换为可供选择的值。

1 个答案:

答案 0 :(得分:1)

您的JSON结果是第一级元素和子数组的混合,因此您需要对这些元素进行过滤。

使用这样的foreach loop输出单选按钮:

foreach($json as $current) {
    if(!is_array($current))
        continue; // skip top level properties that aren't sub arrays

    echo '<input type="radio" name="yourradio" value="' . $current['choice2'] . '"> ' . $current['test'] . ' ' . $current['Example'];
}

单选按钮和标签的值取决于您,但这是一般的想法。