-1
我在Javascript中使用了一個包含數據塊列表的數組。這個數組可能會改變他的長度。我必須從PHP訪問它,因爲我必須在數據庫中執行一些操作。問題是這個數組的長度可能會改變。這是代碼:使用PHP中的javascript數組進行迭代
<html>
<head>
</head>
<body>
<script type='text/javascript'>
var blocks = [
{ w: 500, h: 600 },
{ w: 300, h: 200 },
{ w: 150, h: 150 },
{ w: 150, h: 150 },
{ w: 200, h: 250 },
{ w: 100, h: 250 }
];
order_blocks(blocks); //blocks are ordered and can be added new blocks
//Next code is only to test
for(var n = 0 ; n < blocks.length ; n++) {
var block = blocks[n];
if (block.fit) {
var str1 = "Block " + (n+1) + ": (" + block.w + "," + block.h + ")";
document.write(str1);
}
}
</script>
<?php
if (!isset($_POST[numblocks]))
{
echo '<form action="'.$_SERVER[PHP_SELF].'" method=post name=pass>
<input type=hidden name=numblocks>
<input type=hidden name=block1_w>
<input type=hidden name=block1_h>
</form>';
echo '<script languaje="JavaScript">
document.pass.numblocks.value=blocks.length;
document.pass.block1_w.value=blocks[0].w;
document.pass.block1_h.value=blocks[0].h;
document.pass.submit();
</script>';
}
echo '<br><br>There are '.$_POST["numblocks"].' Blocks<br>';
echo 'Block 1 ('.$_POST["block1_w"].','.$_POST["block1_h"].')<br>';
?>
</body>
</html>
的過程是:
- 的Javascript:我創建陣列塊和應用order_blocks。
- PHP:我通過POST方法傳遞Javascript變量。
在代碼中你可以看到我正確地傳遞了數組的第一個元素,但是我應該在數組上迭代它。
我看不到任何PHP代碼(至少嘗試) 「在陣列上迭代。」 – djot
正確djot。我不知道如何遍歷php塊中的數組。對不起,如果我沒有表達好。 – TuLKaRiS
我可以幫助你嗎? http://php.net/manual/en/control-structures.foreach.php – djot