我在从PHP到JavaScript解析数组中的数据时遇到了一个小问题。
我的JavaScript认为数据是字符串,而不是整数。导致数学答案错误。
我的JS数学是这样的:
abposx = data[d]["x"]+offset_x;
如果数据[d]["x"]为20,偏移_x为0
答案是200而不是20。
我想知道如何让JavaScript将data[d]["x"]用作数字而不是字符串?
我的php:
$get = mysql_query("SELECT x,y,sid FROM $table WHERE uid='1'") or die(mysql_error());
while($row = mysql_fetch_assoc($get)) {
$data[] = $row;
}
$data = json_encode($data);
json编码如下:
[{"x":"283","y":"99","sid":"1"}]
希望你能帮忙!
abposx = parseInt(data[d]["x"], 10) + offset_x;
parseInt可以使用javascriptside,如果你想在phpside中使用as;
while($row = mysql_fetch_assoc($get)) {
$data[] = array_map('intval',$row);
}
使用parseInt(字符串),它将字符串返回为整数
尝试使用类型转换:
var absData = data[d]["x"] - 0;
abposx = absData+offset_x;