如何将任何大小的Javascript数组传递给PHP

时间:2012-12-17 07:48:30

标签: php javascript arrays web-applications parameters

我在Javascript中有一个有许多可能大小的数组。有什么办法可以将它传递给PHP文件进行计算吗?

我想在html

中使用类似的形式
<form id="barfoo" action="foobar.php" method="post">
  <input type="hidden" name="foo">
  <input type="hidden" name="bar"> 
  <input type="hidden" name="bam">
</form>

通常,这些输入是字符串。有没有办法让数组作为输入传递?与fooarray=['abc', 'dbe', '3r']fooarray=['1','c','4','5']相同。在生成之前,我不知道它的大小。是否有可能将其放入表格并通过?

非常感谢!

2 个答案:

答案 0 :(得分:4)

使用JSON.stringify(array)在JavaScript中对数组进行编码,然后在PHP中使用$arr=json_decode($_POST['jsondata']);

答案 1 :(得分:2)

将数组编码为JSON,然后将其插入其中一个hiddens中。这可以通过onsubmit事件形式完成。

<form id="barfoo" action="foobar.php" method="post" onsubmit="populate()">
<input type="hidden" id="foo" name="foo">
</form>

<script>
var  fooarray=['1','c','4','5'];

function populate()
{
    document.getElementById("foo").value = JSON.stringify(fooarray);
}
</script>

PHP本身支持使用json_decode()解码JSON:

$fooArray = json_decode($_POST['foo']);
print_r($fooArray);