项目采用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 $_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.'
';
}
}
}
?>
结果展示:
如果你将msg加上引号也就是这样的话,foreach循环可以取到值但是$_POST['noticetype'][9353]['msg']这样取不到值。
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号