PHP遍历$_POST仅输出首个row_id问题求助
问题分析与解决办法
你的代码只输出第一个row_id的核心原因是遍历层级错误:
- 从
var_dump结果能看到,$_POST数组里只有一个键data,对应的值是包含两个元素的子数组。 - 你当前的
foreach循环的是外层$_POST数组,所以循环只会执行1次,只能拿到data[1]['row_id'],无法触达data[2]。
修正后的代码
直接遍历$_POST['data']子数组即可获取所有row_id:
echo '<pre>'; var_dump($_POST); echo '</pre>'; // 遍历data子数组中的每一项 foreach($_POST['data'] as $item) { echo $item['row_id'] . PHP_EOL; }
如果需要保留索引遍历的形式,也可以这样写:
echo '<pre>'; var_dump($_POST); echo '</pre>'; // 先取出data数组 $data = $_POST['data']; // 遍历data数组的键值对 foreach($data as $key => $value) { echo $value['row_id'] . PHP_EOL; }
执行修正后的代码后,会输出:
33714 33715
内容的提问来源于stack exchange,提问作者michaelmcgurk
相关产品推荐
相关产品推荐

