[英]json_encode in php
我有这个脚本,它的工作原理,但不是我所期望的。 我需要分配一个具有不同名称的值数组,现在所有$ arr []都被命名为“ valor”
{"valor":"20"},{"valor":"50"}
我需要
{"valor1":"20"},{"valor2":"50"}
剧本
$query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
$arr = array();
while($row = mysql_fetch_assoc($query)) {
$arr[] = $row;
}
echo json_encode($arr);
in ajax
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery.ajax({
url: "chart.php",
dataType: "json",
success: function(json){
var msg = "Nome: " + json.valor1+ "\n";
msg += "Sobrenome: " + json.valor2 + "\n";
alert(msg);
}
});
});
});
</script>
问题是:我需要创建一个循环,该循环创建唯一性名称,如value1,value2,value3
喜欢
$arr['valor1'] = "Evandro";
我尝试了循环,但出现内存错误
谢谢
尝试这个:
$query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
$arr = array();
$i = 1;
while($row = mysql_fetch_assoc($query)) {
$arr[] = array("valor{$i}" => $row["valor"]);
++$i;
}
echo json_encode($arr);
应该管用。 另外,如果您想使其与当前回调一起使用,请将$arr[] =
行更改为以下内容:
$arr["valor{$i}"] = $row["valor"];
$index = 1;
while($row = mysql_fetch_assoc($query)) {
$key = 'valor'.index;
$arr[$key] = $row;
$index++;
}
这会给您带来内存错误吗? 不应该这样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.