将二维php分配给二维javascript

Assign two dimensional php to two dimensional javascript

本文关键字:二维 javascript php 分配      更新时间:2023-09-26

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

我尝试了以下操作,但没有成功:

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

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

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

谢谢。

不能echo一个数组,只能是一个字符串。看看PHP中的json_encode函数:http://us2.php.net/json_encode你会发现这是你想要的。

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

尝试json_encode

正如其他人所指出的,json_encode是一个不错的选择。然而,您在JS中收到的对象并不完全是一个数组。这个问题的答案向您展示了如何使用它。

这应该可以做到。

<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; ?>   

这是一条艰难的路。。可能很糟糕..;)