如何在javascript中读取php数组的字符串

时间:2011-02-27 21:15:19

标签: php javascript

var longitudeArray = new Array(<?php $result = count($longitudeArray);
                                    if ($result > 1){
                                    echo implode(',', $longitudeArray); 
                                    } else {
                                    echo $longitudeArray[0];
                                    }
                                    ?>);

$longitudeArray包含数字数组,如:$longitudeArray = array(23.54545, 2323.32); 上面的脚本创建以下javascript数组:

var longitudeArray = new Array(12.32444,21.34343,23.5454);

但如果我在$longitudeArray中传递字符串,如:

$longitudeArray = array('one', 'two');

而不是$longitudeArray中的整数值,那么我的javascript数组无法正常创建或无效。

3 个答案:

答案 0 :(得分:5)

尝试

var longitudeArray=<?=json_encode($longitudeArray)?>;

答案 1 :(得分:1)

如果您将一个字符串数组传递给您的代码,您最终会在生成的javascript代码中没有引号。你需要以某种方式添加一些引号,例如:

var longitudeArray = new Array("<?php echo implode('","', $longitudeArray);?>");

答案 2 :(得分:0)

@Shad,非常有用和有效的方法。以同样的方式,如果一个人试图转换PHP数组以传递回JavaScript函数(EG:一个AJAX回调),那将完成:

$some_php_array = array( 'indexA' => 'nice', 'indexB' => 'move' );
json_encode($some_php_array);

PHP中的PHP数据如下所示:

{"indexA":"nice","indexB":"move"}