PHP数据以字符串而不是整数传递

时间:2012-03-06 21:15:57

标签: php javascript

我在从PHP到JavaScript的数组中解析数据时遇到了一些问题。

我的JavaScript认为数据是字符串而不是整数。导致数学错误答案。

我的JS数学是这样的:

abposx = data[d]["x"]+offset_x;

如果数据[d] [“x”]为20且offset_x为0

答案是200而不是20。

我想知道如何让JavaScript将数据[d] [“x”]用作数字而不是字符串?

我的这个jist:

$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 Encode看起来像这样:

[{"x":"283","y":"99","sid":"1"}]

希望你能帮忙!

4 个答案:

答案 0 :(得分:3)

abposx = parseInt(data[d]["x"], 10) + offset_x;

答案 1 :(得分:1)

parseInt可以用javascriptside,如果你想把这个phpside用作;

while($row = mysql_fetch_assoc($get)) {
    $data[] = array_map('intval',$row);
}

答案 2 :(得分:0)

尝试使用类型转换:

var absData = data[d]["x"] - 0;
abposx = absData+offset_x;

答案 3 :(得分:0)

使用parseInt(string),它将字符串作为整数返回