2016-10-30 176 views
0

我做了在某目錄下的所有文件名的數組。我測試過它並將其打印到屏幕上。我想在javascript代碼中使用該數組,將其打印到屏幕以及用於php for循環。循環通過PHP數組在javascript

<!DOCTYPE html> 
<html> 
<head> 
<body> 

<?php 
$i=0; 
$files = scandir('uploads'); 
for($i=2; $i<count($files);$i++) { 
    echo '<br>'; 
    print_r($files[$i]); 
} 
?> 

<script> 
function func() { 

    var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

} 
</script> 

</body> 
</html> 

這遍歷數組$文件並打印到屏幕上,我想通過在JavaScript中window.prompt對象相同的數組循環,並打印清單的提示彈出。

body標籤結束前:

<script> 
function func() { 
    var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

} 
</script> 

但這似乎沒有打印任何的陣列來提示對象。

但是,如果我做的:

var list = prompt("<?php echo $files[2];?>", ""); 

它實際打印數組的元素,沒有循環。但是我想一次打印所有內容,我該怎麼做?

我試着用print_r()爲JavaScript,但PHP的代碼似乎不有所作爲。

打印陣列在像$file[4]作品一個精確的位置,但使用一個for循環沒有。

+0

你不能混用PHP和JS那樣。所有的php都在任何js開始之前完成。你可以用php創建一個js數組,然後通過js循環。 – nogad

+0

爲什麼他不能,則PHP將做輸出到JavaScript的要求,以及JavaScript將靜態文本 – Ultrazz008

+0

提示繼續將包含所有文件,然後運行,它不會是一個js循環 – nogad

回答

0

變化i$i,更接近:$files[i]應該$files[$i]

var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

使用:

var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[$i];?>", ""); 
+0

哇,我覺得自己像一個白癡,我不知何故錯過了,謝謝。 – erere

+0

不客氣! – Ultrazz008