2016-10-30 101 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