Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Javascript 使用json_encode()进行转换 var js_数组=“”; 对于(var i=0;i_Javascript_Php_Arrays_Json - Fatal编程技术网

Javascript 使用json_encode()进行转换 var js_数组=“”; 对于(var i=0;i

Javascript 使用json_encode()进行转换 var js_数组=“”; 对于(var i=0;i,javascript,php,arrays,json,Javascript,Php,Arrays,Json,我有两个元素的PHP数组,当我使用json\u encode()javascript将这个数组转换为javascript数组时,将我的PHP数组划分为一组字符,因此在javascript数组中我有很多元素。如何将包含两个元素的PHP数组转换为包含相同两个元素的javascript数组 php函数将为您提供一个有效的对象,这实际上就是它的意思,JavasscriptObjectNotation 因此,通过按原样使用它,您将在JavaScript代码中创建一个对象。通过将其括在撇号之间,可以使其成为

我有两个元素的PHP数组,当我使用
json\u encode()
javascript将这个数组转换为javascript数组时,将我的PHP数组划分为一组字符,因此在javascript数组中我有很多元素。如何将包含两个元素的PHP数组转换为包含相同两个元素的javascript数组

php函数将为您提供一个有效的对象,这实际上就是它的意思,JavasscriptObjectNotation

因此,通过按原样使用它,您将在JavaScript代码中创建一个对象。通过将其括在撇号之间,可以使其成为字符串(谁的值可以解析为JSON)

所以最简单的改变就是去掉撇号。所以这一行:

<?php
$array = array("first elem", "second elem");
?>
<html>
<head>
</head>
<body>
    <script>
        var js_array = '<?php echo json_encode($array); ?>';

        for (var i = 0; i < js_array.length; i++)
        {
            document.write(js_array[i]);
            document.write("<br>");
        }
    </script>
</body>
var js_数组=“”;
应该成为

var js_array = '<?php echo json_encode($array); ?>';
var js_数组=;

用以下代码替换您的代码。

var js_array = <?php echo json_encode($array); ?>;

var js_数组=;
对于(var i=0;i”);
}

我希望它对您有所帮助….

问题是您将json_编码用冒号括起来,因此要将其转换为字符串。它生成的javascript如下所示:

var js_array = <?php echo json_encode($array); ?>;
<?php
    $array = array("first elem", "second elem");
    ?>
    <html>
    <head>
    </head>
    <body>
        <script>
            var js_array = <?php echo json_encode($array); ?>;

            for (var i = 0; i < js_array.length; i++)
            {
                document.write(js_array[i]);
                document.write("<br>");
            }
        </script>
    </body>
这里的
js_array
是一个字符串,但您需要一个数组。您需要做的是直接生成json,因为它将生成一个数组:

var js_array = '["first elem","second elem"]';
var js_数组=;

从此行中删除单引号
var js_array=''可能重复的@AnthonyGorshenin不客气,我很高兴它能帮上忙