项目采用Thinkphp,前端框架用dwz,在页面构造了一个二维数组,如下:
<code>短消息 邮件 微信 </code>
提交上去后,打印noticetype这个数组,得到的结果是:
Array
(
<code>[9353] => Array ( ['msg'] => msg )[9784] => Array ( ['wechat'] => wechat )[10113] => Array ( ['email'] => email )</code>
)
但是,当使用循环遍历上面这个数组,或者输出:
“$_POST\[noticetype\]\[9784\][\’wechat\”这种格式
却显示空白,是不是post不该这样使用二维数组?
为什么能打印出完整的二维数组却无法获取单个值呢?
*本文来@源gao@daima#com搞(%代@#码@网2
搞代gaodaima码
回复内容:
项目采用Thinkphp,前端框架用dwz,在页面构造了一个二维数组,如下:
<code>短消息 邮件 微信 </code>
提交上去后,打印noticetype这个数组,得到的结果是:
Array
(
<code>[9353] => Array ( ['msg'] => msg )[9784] => Array ( ['wechat'] => wechat )[10113] => Array ( ['email'] => email )</code>
)
但是,当使用循环遍历上面这个数组,或者输出:
“$_POST\[noticetype\]\[9784\][\’wechat\”这种格式
却显示空白,是不是post不该这样使用二维数组?
为什么能打印出完整的二维数组却无法获取单个值呢?
<body>
用你的给出的现有的数据模拟了一遍,发现是你的提交表格的时候的数组里面的键值加了引号的问题。
给你看看我用你的数据写的:
<code><?phpif($_POST){ echo "<pre class="prettyprint linenums">"; 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.’
‘; } }} ?> <meta charset=”utf-8″> <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
短消息 邮件 微信 |
结果展示:
如果你将msg加上引号也就是这样的话,foreach循环可以取到值但是
$_POST['noticetype'][9353]['msg']
这样取不到值。