为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕勒3428872 2019-03-14 06:35:19
需求描述:从 PHP 拿过来一组三维数组,现在想要通过 JQ/JS 获取里面数据。 如何在页面中正确获取 {$layer} 的数组(不需要显示)? 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] => 燃气感应器 ) ) )
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

volist嵌套使用

查看完整回答
反对 回复 2019-03-18
?
绝地无双

TA贡献1946条经验 获得超4个赞

<script>
var layer = JSON.parse('{:json_encode($layer)}');
</script>
查看完整回答
反对 回复 2019-03-18
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

你好,开发者,嘿嘿~

首先你可能需要了解一下,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数组了;

注意

  1. php变量赋值给js变量的时候,一定要加引号;如果不加引号,当php变量为空的时候,js会报一个致命错误;
  2. 赋值过程必须在.php文件类型下进行;如果是.js的文件类型,是不能执行php代码的,js不支持php语言,但是php文件却支持js语言;
查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 443 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信