作为字符串而不是整数传递的PHP数据

作为字符串而不是整数传递的PHP数据,php,javascript,Php,Javascript,我在将数组中的数据从PHP解析为JavaScript时遇到了一个小问题 我的JavaScript认为数据是字符串而不是整数。导致数学答案错误 我的数学是: abposx = data[d]["x"]+offset_x; 如果数据[d][“x”]为20,偏移量_x为0 答案是200而不是20 我想知道如何让JavaScript使用数据[d][“x”]作为数字而不是字符串 这是我的php的jist: $get = mysql_query("SELECT x,y,sid FROM $table WH

我在将数组中的数据从PHP解析为JavaScript时遇到了一个小问题

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

我的数学是:

abposx = data[d]["x"]+offset_x;
如果数据[d][“x”]为20,偏移量_x为0

答案是200而不是20

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

这是我的php的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编码如下所示:

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

希望你能帮忙

尝试使用类型转换:

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

尝试使用类型转换:

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

使用parseInt(string),它以整数形式返回字符串

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

parseInt可以在javascriptside中使用,如果您想将此phpside用作

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

你不能把它转换成int吗<代码>(int)数据[d][“x”]+偏移量x你能把PHP放在你设定值的地方吗?你在使用ajax吗?不,我试过了,但是我得到了一个意外的标识符作为错误。是的,两者都会产生意外的标识符错误。你不能将它转换为int吗<代码>(int)数据[d][“x”]+偏移量x你能把PHP放在你设定值的地方吗?你在使用ajax吗?不,我试过了,但我得到了意外的标识符作为错误。是的,两者都会产生意外的标识符错误不要忘记基数,
parseInt(string,10)
不要忘记基数,
parseInt(string,10)
你能检查
数据[d][“x”
的值吗?这是怎么一回事?除非它不是一个数字,否则这个代码应该可以工作。很高兴知道在这种情况下没有奇迹:)你能检查
数据[d][“x”]
的值吗?这是怎么一回事?除非它不是一个数字,否则这个代码应该可以工作。很高兴知道在这种情况下没有奇迹:)这应该是JavaScript代码,JavaScript中没有类型转换,也没有
int
type…这应该是JavaScript代码,JavaScript中没有类型转换,也没有
int
type。。。