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

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

2016-06-20 10:44:31 2504 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
相关问答

4

回答

哪位帮忙做个HTML页面,备案用的,送33元代金卷

2012-09-18 13:45:38 8732浏览量 回答数 4

7

回答

33元的代金卷求助做HTML页面,备案用的

2012-09-18 13:46:46 7154浏览量 回答数 7

1

回答

如何在HTML5页面中嵌入视频呀?

2021-12-12 15:52:08 402浏览量 回答数 1

1

回答

如何将钉钉的签到功能嵌入到钉钉的个人企业html5页面里?找不到地址嵌入

2016-12-12 09:51:59 4861浏览量 回答数 1

5

回答

FTP里更换了HTML5代码,但是重新打开页面还是显示原来的界面

2016-11-10 11:08:56 2895浏览量 回答数 5

1

回答

去除html5 页面的纵向滚动条

2016-06-22 16:48:18 2436浏览量 回答数 1

1

回答

Html5移动端页面如何阻止用户左右拉动

2016-06-16 19:25:57 2573浏览量 回答数 1

1

回答

求大神指点:页面加载条怎么做,当页面还没完全加载时显示进度条 javascript css html5 张玉 4月5日提问

2016-06-12 14:46:27 1767浏览量 回答数 1

1

回答

Android中用html5,不能用href实现两个页面的跳转了吗?

2016-06-07 11:54:08 2396浏览量 回答数 1

1

回答

html5 time 标签的datetime元素又不在页面显示有什么用

2016-06-06 16:29:03 3602浏览量 回答数 1
+关注
杨冬芳
IT从业
文章
问答
问答排行榜
最热
最新
相关电子书
更多
《零基础HTML入门教程》
立即下载
利用 Poplayer 在手淘中实现稳定业务和临时业务分离
立即下载
低代码开发师(初级)实战教程
立即下载