HTML中如何处理PHP传递的三维数组

需求描述:
从 PHP 拿过来一组三维数组,现在想要通过 JQ/JS 获取里面数据。

  1. 如何在页面中正确获取 {$layer} 的数组(不需要显示)?
  2. JQ/JS 分别获取数据?

HTML

<volist name="layer" id="layer">
    <php> print_r($layer);</php>
</volist>

打印结果

Array(
    [id] => 2387
    [image] => /Public/upload/users/2018/06-01/5b10f39be1305.jpg
    [layername] => 
    [floorid] => 1
    [icon] => Array
        (
            [0] => Array
                (
                    [posx] => 0.2541
                    [posy] => 0.3444
                    [onegoodscategoryid] => 868
                    [portnum] => 0
                    [portid] => 
                    [image] => /Public/upload/category/2018/04-12/5acee8b14f930.png
                    [iconname] => IC
                    [name] => 室内摄像机
                )

            [1] => Array
                (
                    [posx] => 0.684
                    [posy] => 0.5306
                    [onegoodscategoryid] => 868
                    [portnum] => 0
                    [portid] => 
                    [image] => /Public/upload/category/2018/04-12/5acee8b14f930.png
                    [iconname] => IC
                    [name] => 室内摄像机
                )

        )
)
Array(
    [id] => 2388
    [image] => /Public/upload/users/2018/06-01/5b10f3d576921.jpg
    [layername] => 
    [floorid] => 2
    [icon] => Array
        (
            [0] => Array
                (
                    [posx] => 0.3859
                    [posy] => 0.474
                    [onegoodscategoryid] => 950
                    [portnum] => 0
                    [portid] => 
                    [image] => /Public/upload/category/2018/04-17/5ad565ce07a13.png
                    [iconname] => GS
                    [name] => 燃气感应器
                )
        )
)
慕勒3428872
浏览 444回答 3
3回答

吃鸡游戏

volist嵌套使用

绝地无双

<script> var layer = JSON.parse('{:json_encode($layer)}'); </script>

繁华开满天机

你好,开发者,嘿嘿~ 首先你可能需要了解一下,php变量赋值给js变量,正常情况下,可以这样: <?php $str = "val"; ?> <script type="text/javascript"> var str = "<?php echo $str;?>"; </script> 这样的话,是把一个简单的php变量赋给了js变量;如你问题提问的,如何把php数组赋值给js变量呢?他们两个语言中有一个相同的地方,就是同时可以操作json(因为语言不同,所以数组类型不能直接赋值),可以作如下改变: <?php $arr = [ 0 => [ 'name' => 'xiaoming', 'girlfrind' => ['xiaohong', 'xiaoli'] ] ]; // 将数组转换为json $json_arr = json_encode($arr); ?> <script type="text/javascript"> // 此时json即为json类型 var json = "<?php echo $json_arr?>"; // 转换json类型变量为数组类型变量 // 即 此时arr为js数组类型的变量 var arr = JSON.parse( json ); </script> 这样就可以用js/jq操作js数组了; 注意: php变量赋值给js变量的时候,一定要加引号;如果不加引号,当php变量为空的时候,js会报一个致命错误; 赋值过程必须在.php文件类型下进行;如果是.js的文件类型,是不能执行php代码的,js不支持php语言,但是php文件却支持js语言;
打开App,查看更多内容
随时随地看视频慕课网APP