php中的数组值分离

php中的数组值分离,php,arrays,sorting,Php,Arrays,Sorting,我有一种复杂的数组,它根据表单上写的儿童和成人姓名类型的数量动态填充数组,并且必须在单个数组中发送数据,但必须将儿童和成人分开,而不是像一个成人那样,然后是儿童,现在就是这样 这是我的密码 $h = array ( 'code' => $_SESSION['post_data']['canc_code'], 'first_name' => $_SESSION['post_data']['bofullname'], 'last_name' => $_SESSION['post_d

我有一种复杂的数组,它根据表单上写的儿童和成人姓名类型的数量动态填充数组,并且必须在单个数组中发送数据,但必须将儿童和成人分开,而不是像一个成人那样,然后是儿童,现在就是这样

这是我的密码

$h = array (
'code' => $_SESSION['post_data']['canc_code'],
'first_name' => $_SESSION['post_data']['bofullname'],
'last_name' => $_SESSION['post_data']['bolastname'],
'email' => $_SESSION['post_data']['boemail'],
'special_request' => $_SESSION['post_data']['special_req'],
'phone_country' => $_SESSION['post_data']['bocountrycode'],
'phone_no' => $_SESSION['post_data']['bomobnum'],
);
$outerKey = 0;
foreach($_SESSION['post_data']['adult'] as $key => $adult){

$h['room_pax_details'][$outerKey] = [
    'room_no' => $key,
];

$innerCounter = 0;
foreach($adult as $innerKey => $innerValue){
    if(isset($adult['first_name'][$innerCounter])){
        $h['room_pax_details'][$outerKey]['pax'][] = [
            'firstname' => $adult['first_name'][$innerCounter],
            'lastname' => $adult['last_name'][$innerCounter],
            'type' => $adult['type'][$innerCounter],
        ];

        if(isset($_SESSION['post_data']['child'][$key])){

            foreach($_SESSION['post_data']['child'][$key]['first_name'] as $childKey => $child){
                $h['room_pax_details'][$outerKey]['pax'][] = [
                    'firstname' => $_SESSION['post_data']['child'][$key]['first_name'][$childKey],
                    'lastname' => $_SESSION['post_data']['child'][$key]['last_name'][$childKey],
                    'type' => $_SESSION['post_data']['child'][$key]['type'][$childKey],
                    'age' => $_SESSION['post_data']['child'][$key]['age'][$childKey],

                ];

            }
            //unset($_SESSION['post_data']['child'][$key]);
        }




        $innerCounter++;
    }

}
$outerKey++;
}



 $fn = json_encode($h);
预期的示例json

{

                "first_name" : "James",
                "last_name" : "Meitner",
                "email" : "test@gmail.com",
                "special_request" : "",
                "phone_country":"+93",
                "phone_no":"123123",
                "room_pax_details" : [
                    {
                        "room_no" : "1",
                        "pax" : [
                            {
                                "firstname" : "James",
                                "lastname" : "Meitner",
                                "type" : "Adult"
                            },
                            {
                                "firstname" : "James2",
                                "lastname" : "Meitner2",
                                "type" : "Adult"
                            },
                            {
                                "firstname" : "Richard",
                                "lastname" : "Bohr",
                                "type" : "Child",
                                "age"  : 5
                            },
                            {
                                "firstname" : "Richard",
                                "lastname" : "Bohr",
                                "type" : "Child",
                                "age"  : 5
                            }
                        ]
                    }, {
                        "room_no" : "2",
                        "pax" : [
                            {
                                "firstname" : "James",
                                "lastname" : "Meitner",
                                "type" : "Adult"
                            },
                            {
                                "firstname" : "Richard",
                                "lastname" : "Bohr",
                                "type" : "Child",
                                "age"  : 5
                            }
                        ]
                    }
                ]
            }
这里是根据房间和成人或儿童数量动态生成的HTML

<form class="last" method="POST" action="http://happeniz.wwwmi3-sr14.supercp.com/zoalnawp/notification/">
                        <input type="hidden" name="canc_code" value="3073364c685678b3630bda25416bb42ced39fb1b4cfb6fe45f336539740cd2e4b2bb0fce8ab848012e8bff8361956c9cb492d967660339bebaa79fc32495bc67fa39e09171eb21709b535a1f3e776fbd292bfcd601c48a77f8b55c759d555ed1c7a8fb3240f4c52be67df349b81c95104376aa4055b75dd98ffe0bd14fb9ce036bc4fe8375070fcd0410447f742c876e172aa93c998ac07aab46cd23564d5dc227f5b3229b1cb6253f1184853f8feb5a10712ace86aac8f14abd4c5032d258f5e19a7d246cf7f5d77fba3e053e2be524ce6a3ac7bef6eafb4b6b2efbc095d8a1e21ac52f95234d9d8e9ac471608693c9">
                        <div class="form-group row g-mb-25">
                            <div class="col-md-6 g-mt-20">
                                <label for="">Full Name</label>
                                <input class="form-control form-control-md" name="bofullname" type="text" required="required">
                            </div>
                            <div class="col-md-6 g-mt-20">
                                <label for="">Last Name</label>
                                <input class="form-control form-control-md" name="bolastname" type="text" required="required">
                            </div>
                            <div class="col-md-6 g-mt-20">
                                <label for="">Email</label>
                                <input class="form-control form-control-md" name="boemail" type="email" required="required">
                            </div>
                            <div class="col-md-2 g-mt-20">
                                <label for="">Country Code</label>
                                <input id="country-code" class="form-control form-control-md" name="bocountrycode" type="text" required="required">
                            </div>
                            <div class="col-md-4 g-mt-20">
                                <label for="">Mobile Number</label>
                                <input id="mobile-number" class="form-control form-control-md" name="bomobnum" type="text" required="required">
                            </div>


                                <hr class="g-mt-10 g-mb-20">
                                <div class="col-sm-12 col-md-12 romms_namehead">
                                  <p class="roomss"><strong>Room no 1 :</strong></p>
                                  <p class="rooms_detail">Please fill the adults info :</p>
                                </div>
                                  <div class="col-sm-12 col-md-12 dynamic_rooms">


                                <div class="col-md-4 g-mt-20">
                                <label for="">First Name</label>
                                <input id="mobile-number" class="form-control form-control-md" name="adult[1][first_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Last Name</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[1][last_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Type</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[1][type][]" type="text" readonly="" value="Adult">
                                </div>


                                <div class="col-md-4 g-mt-20">
                                <label for="">First Name</label>
                                <input id="mobile-number" class="form-control form-control-md" name="adult[1][first_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Last Name</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[1][last_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Type</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[1][type][]" type="text" readonly="" value="Adult">
                                </div>

                                                                                                                        <div class="col-md-4 g-mt-20">
                                                    <label for="">Child First Name</label>
                                                    <input id="mobile-number" class="form-control form-control-md" name="child[1][first_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Child Last Name</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[1][last_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Type</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[1][type][]" type="text" readonly="" value="Child">
                                                        <input name="child[1][age][]" type="hidden" value="7">
                                                    </div>
                                                                                                    <div class="col-md-4 g-mt-20">
                                                    <label for="">Child First Name</label>
                                                    <input id="mobile-number" class="form-control form-control-md" name="child[1][first_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Child Last Name</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[1][last_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Type</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[1][type][]" type="text" readonly="" value="Child">
                                                        <input name="child[1][age][]" type="hidden" value="7">
                                                    </div>
                                                                                    </div>

                                <hr class="g-mt-10 g-mb-20">
                                <div class="col-sm-12 col-md-12 romms_namehead">
                                  <p class="roomss"><strong>Room no 2 :</strong></p>
                                  <p class="rooms_detail">Please fill the adults info :</p>
                                </div>
                                  <div class="col-sm-12 col-md-12 dynamic_rooms">


                                <div class="col-md-4 g-mt-20">
                                <label for="">First Name</label>
                                <input id="mobile-number" class="form-control form-control-md" name="adult[2][first_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Last Name</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][last_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Type</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][type][]" type="text" readonly="" value="Adult">
                                </div>


                                <div class="col-md-4 g-mt-20">
                                <label for="">First Name</label>
                                <input id="mobile-number" class="form-control form-control-md" name="adult[2][first_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Last Name</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][last_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Type</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][type][]" type="text" readonly="" value="Adult">
                                </div>


                                <div class="col-md-4 g-mt-20">
                                <label for="">First Name</label>
                                <input id="mobile-number" class="form-control form-control-md" name="adult[2][first_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Last Name</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][last_name][]" type="text" required="required">
                                </div>

                                <div class="col-md-4 g-mt-20">
                                    <label for="">Type</label>
                                    <input id="mobile-number" class="form-control form-control-md" name="adult[2][type][]" type="text" readonly="" value="Adult">
                                </div>

                                                                                                                        <div class="col-md-4 g-mt-20">
                                                    <label for="">Child First Name</label>
                                                    <input id="mobile-number" class="form-control form-control-md" name="child[2][first_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Child Last Name</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[2][last_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Type</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[2][type][]" type="text" readonly="" value="Child">
                                                        <input name="child[2][age][]" type="hidden" value="7">
                                                    </div>
                                                                                                    <div class="col-md-4 g-mt-20">
                                                    <label for="">Child First Name</label>
                                                    <input id="mobile-number" class="form-control form-control-md" name="child[2][first_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Child Last Name</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[2][last_name][]" type="text" required="required">
                                                    </div>

                                                    <div class="col-md-4 g-mt-20">
                                                        <label for="">Type</label>
                                                        <input id="mobile-number" class="form-control form-control-md" name="child[2][type][]" type="text" readonly="" value="Child">
                                                        <input name="child[2][age][]" type="hidden" value="8">
                                                    </div>
                                                                                    </div>






                        </div>
                        <hr class="container-fluid">
                        <div class="col-md-12">
                            <label for="">Special Requests</label>
                            <textarea class="form-control form-control-md" name="special_req" cols="100" rows="3" placeholder="Please enter comments"></textarea>
                        </div>
                        <div class="col-md-12 g-mt-40">
                            <input type="hidden" name="totalrooms" value="2">
                            <input type="hidden" name="totaladults" value="Array">
                            <input type="hidden" name="totalchilds" value="">
                            <input type="hidden" name="totalprice" value="947">
                            <input type="hidden" name="curencyyy" value="AED">
                            <input id="" type="submit" name="submit1" value="Continue" class="btn form-control-md u-btn-orange border-20">
                            <!-- <button class="btn form-control-md u-btn-orange border-20" type="button">Continue</button> -->
                        </div>
                    </form>

全名
姓
电子邮件
国家代码
手机号码

一号房间:

请填写成人信息:

名字 姓 类型 名字 姓 类型 孩子的名字 儿童姓氏 类型 孩子的名字 儿童姓氏 类型

第2号房间:

请填写成人信息:

名字 姓 类型 名字 姓 类型 名字 姓 类型 孩子的名字