Php 如何获取嵌套数组的数据
我有多个名为Php 如何获取嵌套数组的数据,php,arrays,Php,Arrays,我有多个名为module\u name的项,每个项都有多个输入字段。请参阅下文: <input type="hidden" value="slideshow" name="module_name[]"> <input type="hidden" value="" name="slide_title[]"> <input type="hidden" value="" name="slide_info[]"> <input type="hidden" v
module\u name
的项,每个项都有多个输入字段。请参阅下文:
<input type="hidden" value="slideshow" name="module_name[]">
<input type="hidden" value="" name="slide_title[]">
<input type="hidden" value="" name="slide_info[]">
<input type="hidden" value="" name="slide_title[]">
<input type="hidden" value="" name="slide_info[]">
我想获取数组中每个模块名称的数据,但是使用上面的代码我无法在数组中获取正确的数据,它会显示重复的数据 如果一个
模块名称有多个幻灯片标题
和幻灯片信息
,我认为您必须更改结构:
<input type="hidden" value="slideshow" name="module_name[1]">
<input type="hidden" value="" name="slide_title[1][]">
<input type="hidden" value="" name="slide_info[1][]">
<input type="hidden" value="" name="slide_title[1][]">
<input type="hidden" value="" name="slide_info[1][]">
...
<input type="hidden" value="slideshow" name="module_name[2]">
<input type="hidden" value="" name="slide_title[2][]">
<input type="hidden" value="" name="slide_info[2][]">
<input type="hidden" value="" name="slide_title[2][]">
<input type="hidden" value="" name="slide_info[2][]">
您应该注意到,此循环要求每个模块名称
具有相同数量的幻灯片标题
和幻灯片信息
字段
我希望这是理想的结果。$\u POST['module\u name']和$\u POST['slide\u title']将是兄弟元素。你确定你做得对吗?用echo“”打印数据;打印(邮政美元);回声';然后再次查看您的代码,或者为我们粘贴该代码的输出,以便我们可以检查数据的结构。
<input type="hidden" value="slideshow" name="module_name[1]">
<input type="hidden" value="" name="slide_title[1][]">
<input type="hidden" value="" name="slide_info[1][]">
<input type="hidden" value="" name="slide_title[1][]">
<input type="hidden" value="" name="slide_info[1][]">
...
<input type="hidden" value="slideshow" name="module_name[2]">
<input type="hidden" value="" name="slide_title[2][]">
<input type="hidden" value="" name="slide_info[2][]">
<input type="hidden" value="" name="slide_title[2][]">
<input type="hidden" value="" name="slide_info[2][]">
$arr = array();
foreach($_POST['module_name'] as $key => $value) {
$data = array();
foreach($i = 0; $i < count($_POST['slide_title'][$key]); $i++) {
$data[] = array(
"slide_title" => $_POST['slide_title'][$key][$i],
"slide_info" => $_POST['slide_info'][$key][$i]
);
}
$arr[$value] = $data;
}
"module_name_1" => array(
array("slide_title" => "slide_title_1", "slide_info" => $slide_info_1),
array("slide_title" => "slide_title_2", "slide_info" => $slide_info_2),
array("slide_title" => "slide_title_3", "slide_info" => $slide_info_3)
),
"module_name_2" => array(
array("slide_title" => "slide_title_1", "slide_info" => $slide_info_1),
array("slide_title" => "slide_title_2", "slide_info" => $slide_info_2),
array("slide_title" => "slide_title_3", "slide_info" => $slide_info_3)
)
...