Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取嵌套数组的数据_Php_Arrays - Fatal编程技术网

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)
)
...