Php 标识符在javascript数组中紧跟数字文字之后启动
我试图将一个php图像文件名数组分配给一个javascript数组。以下是我目前得到的信息:Php 标识符在javascript数组中紧跟数字文字之后启动,php,javascript,jquery,arrays,Php,Javascript,Jquery,Arrays,我试图将一个php图像文件名数组分配给一个javascript数组。以下是我目前得到的信息: <script src="jq.js"></script> <?php $dir = 'images'; $images = scandir($dir); $true_images = array(); foreach($images as $k=>$v){ if(is_file('images/'.$v)){ $true_images[]
<script src="jq.js"></script>
<?php
$dir = 'images';
$images = scandir($dir);
$true_images = array();
foreach($images as $k=>$v){
if(is_file('images/'.$v)){
$true_images[] = $v;
}
}
?>
<script>
$(function(){
var image_array = Array(<?php echo implode(',', $true_images); ?>);
alert(image_array);
});
</script>
$(函数(){
var image_array=array();
警报(图像_阵列);
});
但我在firebug中发现以下错误:
标识符紧跟数字文字之后开始
请提供帮助,提前感谢如果您在浏览器中查看源代码并通读实际发送的JavaScript,问题可能会很明显。“标识符在数字文字之后立即开始”表示您有类似于
3m
或3.m
(其中3
或3.
是数字文字,m
是标识符)。在我看来,最可能的问题是$true\u images
中的(一些)值类似于3.jpg
。在将文件发送到浏览器之前,您需要将文件名用引号括起来,生成类似于“3.jpg”
的内容。您必须将字符串数组输入到“”或“”
试试这个
var image_array = ["<?php echo implode('","', $true_images); ?>"]
var image_array=[”因为您的问题是JavaScript问题,所以请发布PHP脚本的输出。我感觉您可以通过查看输出(发布之前应该已经完成)来了解问题所在另外,输出JavaScript数据的正确方法是
,这将避免许多问题和安全隐患。@MattiVirkkunen:以下是输出:1.jpg、2.jpg、5.jpg、6.jpg、7.jpg、8.jpg、9.jpg。@Kyouka Suigetsu:您没有看到任何错误吗?