html页面构造的多维数组在服务器端无法获取值 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

html页面构造的多维数组在服务器端无法获取值

2016-06-20 10:44:31 2330 1

项目采用Thinkphp,前端框架用dwz,在页面构造了一个二维数组,如下:

<td>

<input type="checkbox" value="msg" name="noticetype[{$vo['staffId']}]['msg']" />短消息 
<input type="checkbox" value="email" name="noticetype[{$vo['staffId']}]['email']" />邮件 
<input type="checkbox" value="wechat" name="noticetype[{$vo['staffId']}]['wechat']" />微信 

</td>

提交上去后,打印noticetype这个数组,得到的结果是:
Array
(

[9353] => Array
    (
        ['msg'] => msg
    )

[9784] => Array
    (
        ['wechat'] => wechat
    )

[10113] => Array
    (
        ['email'] => email
    )


)

但是,当使用循环遍历上面这个数组,或者输出:
"$_POST[noticetype][9784]['wechat"这种格式
却显示空白,是不是post不该这样使用二维数组?
为什么能打印出完整的二维数组却无法获取单个值呢?

取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:43:48

    用你的给出的现有的数据模拟了一遍,发现是你的提交表格的时候的数组里面的键值加了引号的问题。
    给你看看我用你的数据写的:

    <?php
    if($_POST){    
        echo "<pre>";
        print_r($_POST);
        echo "</pre>";
    
        echo "-----------------------------------------------"."<p>";
    
        echo $_POST['noticetype'][9353]['msg']."<br>";
        echo $_POST['noticetype'][9784]['email']."<br>";
        echo $_POST['noticetype'][10113]['wechat']."<br>";
    
        echo "---------------------------------------------"."<p>";
    
        foreach ($_POST['noticetype'] as $key => $value) {
            foreach ($value as $k => $v) {
                echo $v.'<br>';
            }
        }
    }
     ?>
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>index</title>
        <link rel="stylesheet" href="">
    </head>
    <body>
        <table>
            <thead>
                <tr>                
                    <td>
                        <form action="demo.php" method="post" accept-charset="utf-8">
                            <input type="checkbox" value="msg" name="noticetype[9353][msg]" />短消息 
                            <input type="checkbox" value="email" name="noticetype[9784][email]" />邮件 
                            <input type="checkbox" value="wechat" name="noticetype[10113][wechat]" />微信 
                            <input type="submit" name="submit" value="提交">
                        </form>
                    </td>
                </tr>
            </thead>
        </table>        
    </body>
    </html>

    结果展示:
    screenshot
    如果你将msg加上引号也就是这样的话,foreach循环可以取到值但是$_POST'noticetype'['msg']这样取不到值。

    0 0
相关问答

170

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 233892浏览量 回答数 170

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 160024浏览量 回答数 145

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148981浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 148094浏览量 回答数 31

3

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133595浏览量 回答数 3

257

回答

“零基础”系列课程--如何在ECS上快递搭建一个WordPress站点

patricia 2015-09-30 17:40:16 87443浏览量 回答数 257

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 310357浏览量 回答数 251

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 125082浏览量 回答数 97

14

回答

域名解析是正确的,但是网站打不开求助!

游客b4ezpaqg54gdq 2019-07-05 11:50:33 123010浏览量 回答数 14

78

回答

【2013.9.5修正版图文】新手如何使用阿里云(linux)服务器建站(搬站)

姑苏公子 2013-04-11 00:39:13 108956浏览量 回答数 78
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载