【问题标题】:problem in the output of query - php+json查询输出中的问题 - php+json
【发布时间】:2011-05-17 03:25:40
【问题描述】:
function tableOne() {

        $query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
        $i = 0;
        while($row = mysql_fetch_assoc($query)) {
            $arr[] = array($row[valor]);
            ++$i;
        }
        echo json_encode($arr);
    }
}

输出将是

[["15573"],["31978"],["11227"],["5752"],["20817"],["32182"]]

我需要类似的东西:

["15573","31978","11227","5752","20817","32182","10935"]

我尝试对代码进行一些更改,但输出不是我想要的。

谢谢

【问题讨论】:

    标签: php mysql json


    【解决方案1】:

    您正在将子数组放置在数组的每个元素中。你应该替换

    $arr[] = array($row[valor]);
    

    $arr[] = $row[valor];
    

    $arr[] 中的[] 已经将每个条目添加为数组的一个元素。

    【讨论】:

    • 另外,请引用您的数组索引 ('valor')。
    • 有可能输出不带引号 [15573,1978, 200]?
    • 尝试将值转换为 int:(int)$row[valor];
    【解决方案2】:
    $query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
    
    $arr = array();
    while ($row = mysql_fetch_assoc($query)) {
        $arr[] = $row['valor'];  // get rid of the array() wrapper
    }
    
    echo json_encode($arr);
    

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多