Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 标识符在javascript数组中紧跟数字文字之后启动_Php_Javascript_Jquery_Arrays - Fatal编程技术网

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[]

我试图将一个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[] = $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:您没有看到任何错误吗?