将二维php分配给二维javascript

时间:2013-11-18 18:03:17

标签: javascript php

我有一个二维javascript数组,我想分配给php数组。

我尝试了以下但是没有用:

var js_array= [[]];
js_array = <?php echo $result;?>;

我基本上创建了一个二维php数组并分配给一个二维javascript数组。

我似乎没有在此代码中看到任何逻辑问题。有人可以指出为什么这种方法可能不起作用?

感谢。

4 个答案:

答案 0 :(得分:1)

你不能echo一个数组,只能是一个字符串。查看PHP中的json_encode函数:http://us2.php.net/json_encode您会发现这可以满足您的需求。

var js_thing = <?php echo json_encode($result);?>;

答案 1 :(得分:1)

var js_array= []; 
js_array = <?php echo json_encode($result);?>;

尝试json_encode

答案 2 :(得分:0)

正如其他人指出的那样,json_encode是一个不错的选择。但是,您在JS中收到的对象并不完全是一个数组。 The answer to this question向您展示了如何使用它。

答案 3 :(得分:0)

应该这样做..

<script type="text/javascript"> 
<?php 
    $arr = array(
            array(1,2,3,4,7),
            array(5,3,6,8),
            array(0,12,34,54,65)
        );
    $arr_str = '[';
    foreach ($arr as $mv) {
        $arr_str .= '[';
        foreach ($mv as $sv) {
            $arr_str .= $sv.',';
        }
        $l = strlen($arr_str);
        if(substr($arr_str, -1) == ','){
            $arr_str = substr($arr_str, 0, $l-1);
        }
        $arr_str .= '],';
    }
    $l = strlen($arr_str);
    if(substr($arr_str, -1) == ','){
        $arr_str = substr($arr_str, 0, $l-1);
    }
    $arr_str .= '];';       
?>
var js_a =<?php echo $arr_str; ?>   

它很难......而且可能糟透了..;)