如何将php数组转换为javascript数组

时间:2016-04-21 17:43:13

标签: javascript php arrays

我试图将PHP数组实现到JavaScript中,但问题是它没有正确转换。

例如,如果PHP数组$new_array的值为a,q,s,t,u,则它将分配给JavaScript数组的所有索引,例如:

js_array[0]=a,q,s,t,u;
js_array[1]=a,q,s,t,u;
js_array[2]=a,q,s,t,u;
js_array[3]=a,q,s,t,u;
js_array[4]=a,q,s,t,u;
js_array[5]=a,q,s,t,u;

这是我的PHP代码:

    $new_array = array(); // create a new array
$sql=mysql_query("SELECT * FROM animate ORDER BY RAND() LIMIT 5") or die("query Field");

 while($row=mysql_fetch_array($sql)){

    $new_array[] = $row['code'];

 }

js code

var array =[<?php echo json_encode($new_array);?>];
        alert(array[0]);
   for(var i=0; i <=9 ; i++)
        {
            array[i]=[<?php echo json_encode($new_array);?>];
    }

我想分配如下的值:

array[0]=a;
array[1]=q;
array[2]=s;
array[3]=t;
array[4]=u;   

我想用这种模式做但不行。

2 个答案:

答案 0 :(得分:2)

你可以“内爆”它,或者你可以使用JSON。

内爆方法

var array = [<?php echo implode($array, ","); ?>];

JSON方法

var array = <?php echo json_encode($array); ?>;

答案 1 :(得分:0)

只需在js数组括号内迭代php数组。

var array =[<?php foreach ($newArray as $value) echo "'" . $value . "',"; ?>];

您可能需要额外添加一行来剪辑最后一个,