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

php中文网
发布: 2016-06-06 20:22:56
原创
1603人浏览过

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

<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']" />微信 
登录后复制
登录后复制

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

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

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

[10113] => Array
    (
        ['email'] => email
    )
登录后复制
登录后复制

)

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

立即学习前端免费学习笔记(深入)”;

回复内容:

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

<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']" />微信 
登录后复制
登录后复制

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

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

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

[10113] => Array
    (
        ['email'] => email
    )
登录后复制
登录后复制

)

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

立即学习前端免费学习笔记(深入)”;

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

<?php
if($_POST){    
    echo "<pre class="brush:php;toolbar:false">";
    print_r($_POST);
    echo "
登录后复制
"; echo "-----------------------------------------------"."

"; echo $_POST['noticetype'][9353]['msg']."
"; echo $_POST['noticetype'][9784]['email']."
"; echo $_POST['noticetype'][10113]['wechat']."
"; echo "---------------------------------------------"."

"; foreach ($_POST['noticetype'] as $key => $value) { foreach ($value as $k => $v) { echo $v.'
'; } } } ?>

index
短消息 邮件 微信

结果展示:

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

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

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号