我在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']
相同。在生成之前,我不知道它的大小。是否有可能将其放入表格并通过?
非常感谢!
答案 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);