如何将javascript数组分配给php数组

时间:2012-08-08 14:38:30

标签: php javascript ajax arrays json

  

可能重复:
  javascript array converted to a php array?

我在javascript中有一个数组,现在我需要将javascript数组分配给php数组
我是脚本语言的初学者,

任何人都可以帮助我 提前谢谢。

<script type = text/javascript >
var jsArray = [];
var jsDescArray =   [];
 for (var i = 0; i <= <?php echo $t_num ?>; i++) {
     jsArray.push( "<?php echo $url ?>="+thread[i].id  );
     jsDescArray.push( thread[i].title );
}
<?php
$str=json_decode('jsArray'); 
$str1[] = json_decode( 'jsDescArray', true );
?>
</script>

3 个答案:

答案 0 :(得分:4)

首先,在PHP代码被扫描并在服务器端处理很久之后,在客户端评估Javascript。因此,这种类型的代码根本无法工作。

其次,这没有理由。因为您在分配之前在Javascript中填充数组,所以您应该直接将变量($url)直接传递到$str$str1[]。如果这是必须在客户端处理的事情,请使用AJAX从.php文件调用和检索数据,以便传输Javascript数组。

参考https://developer.mozilla.org/en-US/docs/AJAX

答案 1 :(得分:1)

PHP在服务器上运行,结果将发送到浏览器。只有这样才能运行JavaScript。

要将JavaScript中的内容发送回服务器,您需要使用AJAX或类似的东西。您可能想重新考虑解决问题的方法,但这实际上取决于您在此处尝试的内容。

答案 2 :(得分:0)

您可以使用JSON.stringify(array)在JavaScript中对数组进行编码,然后在PHP脚本中使用$array=json_decode($_POST['jsondata']);来检索它。

请参阅网址

Pass Javascript Array -> PHP