Javascript 数组中的值不是字符串

Javascript 数组中的值不是字符串,javascript,php,Javascript,Php,我在php中设置了一些数组 $usersPostsDates = array(); $usersPostsNations = array(); $userpostsIds = array(); if (!in_array($jikuDate, $usersPostsDates)) { array_push($usersPostsDates, $jikuDate); } if (!in_array($nation, $usersPostsNations)) { array_pus

我在php中设置了一些数组

$usersPostsDates = array();
$usersPostsNations = array();
$userpostsIds = array();

if (!in_array($jikuDate, $usersPostsDates)) {
    array_push($usersPostsDates, $jikuDate);
}
if (!in_array($nation, $usersPostsNations)) {
    array_push($usersPostsNations, $nation);
}
if (!in_array($idThisPost, $userpostsIds)) {
    array_push($userpostsIds, $idThisPost);
}
然后在js中,我会:

var userDates = <?php echo json_encode($usersPostsDates); ?>;
var userNations = <?php echo json_encode($usersPostsNations); ?>;
var userIds = <?php echo json_encode($userpostsIds); ?>;
var i;
var a;
var b;
for (i = 0; i < userDates.length; ++i) {
  $("#usp-custom-i"+i).attr("value", userDates[i]);
}
for (a = 0; a < userNations.length; ++a) {
  $("#usp-custom-a"+a).attr("value", userNations[a]);
}
for (b = 0; b < userIds.length; ++b) {
  $("#usp-custom-b"+b).attr("value", userIds[b]);
}
为什么
var userIds=[152213260969];不是var userIds=[“15221”、“3260”、“969”]


如果我这样做:
var\u dump($userpostsIds)
我得到
数组(1){[0]=>int(15221)}
数组(2){[0]=>int(15221)[1]=>int(3260)}
数组(3){[0]=>int(15221)[1]=>int(3260)[2]=>int(969)}因为您的数据是int,如
int(15221)
中所示,如果您想在
中将其转换为字符串

尝试执行以下操作:

array_push($userpostsIds, $idThisPost.'');

PHP上的
$userpostsIds
中有什么?@DanielA.White用
var\u dump
更新了这个问题,我想它只是来自您的DB列数据类型。尝试转换添加
'
数组推送($userpostsIds,$idThisPost')@rob.m好的,我会把它作为答案发布
array_push($userpostsIds, $idThisPost.'');