Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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的意外结果_Javascript_Php_Arrays - Fatal编程技术网

将php数组引入javascript的意外结果

将php数组引入javascript的意外结果,javascript,php,arrays,Javascript,Php,Arrays,我一直在四处寻找,想找到一个有同样问题的人,但运气不好。这可能意味着我以前没人喝过酒。我一点也不惊讶 无论如何,我正在尝试做一些我认为非常简单的事情:通过php在服务器上获取一个列出html文件的数组,然后通过数组javascript在iframe中显示它们。php代码如下所示: <?php $fileList = scandir('./slides'); $jsFileList = json_encode($fileList); ?> 然后我想,“当然!它需要编码

我一直在四处寻找,想找到一个有同样问题的人,但运气不好。这可能意味着我以前没人喝过酒。我一点也不惊讶

无论如何,我正在尝试做一些我认为非常简单的事情:通过php在服务器上获取一个列出html文件的数组,然后通过数组javascript在iframe中显示它们。php代码如下所示:

<?php
    $fileList = scandir('./slides');
    $jsFileList = json_encode($fileList);
?>
然后我想,“当然!它需要编码为JSON数据。”但现在的结果是:

[0]: [
[1]: "
[2]: .
[3]: "
[4]: ,
[5]: "
[6]: .
[7]: .
[8]: "
[9]: ,
[10]: "
[11]: s
[12]: l
[13]: i
[14]: d
[15]: e
[16]: 0
[17]: 2
[18]: .
[19]: h
[20]: t
[21]: m
[22]: l
[23]: "
[24]: ]
JavaScript究竟为什么要用所有字符而不是PHP数组的三个元素创建一个数组?我希望JavaScript数组看起来像:

[0]: .
[1]: ..
[2]: slide02.html

这正是PHP数组的外观,但不是JavaScript数组。FWIW,我还尝试在php中使用json_parse(),但结果在JavaScript中没有显示任何内容,我尝试先将JavaScript变量声明为数组,但没有任何更改。有什么想法吗?

你应该编写你的代码,这样就可以清楚地知道什么逃逸了,什么没有逃逸了,比如:

var jsFileList = <?php echo json_encode($fileList);?>;
var-jsFileList=;
请注意,JSON值周围没有引号。它已经逃走了


您应该始终检查生成的HTML源代码,以确保其看起来有效。

您用于获取响应并将其解析为数组的JavaScript代码是什么?不要忘记使用JSON.parse(您的\u JSON\u字符串),否则JavaScript会将其作为字符串读取。好吧,就像我想的那样,我是个白痴。那些单引号不应该出现在那里。把它们拿出来,它就正常工作了。都是些小事,不是吗?非常感谢你的帮助!
[0]: .
[1]: ..
[2]: slide02.html
var jsFileList = <?php echo json_encode($fileList);?>;