我创建了一个包含特定目录中所有文件名的数组。我测试了它并将其打印到屏幕上。我想在javascript代码中使用该数组,将其成员打印到屏幕以及php for循环。
<!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>
这循环遍历数组$ files并将其打印到屏幕上,我想在javascript中的window.prompt对象中循环遍历相同的数组,并将列表打印到提示弹出窗口。
在身体标签结束之前:
<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];?>", "");
它实际上打印了一个没有循环的数组元素。但是我想立刻打印出来,我该怎么做呢?
我尝试在javascript中使用print_r()
作为php代码,但这似乎没有什么区别。
在$file[4]
之类的精确位置打印数组,但使用for循环则不行。
答案 0 :(得分: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];?>", "");
答案 1 :(得分:0)
您的代码扭曲到PHP负责的地方,而Javascript只是echo工具。 PHP执行所有循环控制,而Javascript通过PHP插入获取动态变量。
<!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 type="text/javascript">
prompt(<php? echo $files[i] ?>, "");
</script>
}
?>