Как я могу отсортировать многомерный массив данных в php - PullRequest
0 голосов
/ 17 февраля 2020

Как отсортировать массив данных массива по порядку в PHP. Здесь в моем примере данных массива я хочу отобразить вывод, основанный на SequenceID в имени моего выходного массива. Я хочу отобразить SequenceID данные на основе чисел. Ниже приведены данные моего выходного массива.

$MainArrayData= 
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [CAR_DATA] => Array
                        (
                            [0] => Array
                                (
                                    [SNo] => 1607
                                    [SRRequestID] => 44396
                                    [AncillarySearchID] => 1626
                                    [MAPPINGID] => 1626
                                    [BookingDate] => 
                                    [car_data_line] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [QuoteID] => 189
                                                    [SequenceID] => 5
                                                    [QuoteGeneratedID] => R44396-1473
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 
                )

            [1] => Array
                (
                    [FLIGHT_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [SNo] => 33091
                                    [Flight_Search_ID] => 32994
                                    [SR_Request_ID] => 44396
                                    [flight_data_line] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [ID] => 11693
                                                    [ReqID] => 44396
                                                    [SearchID] => 32994
                                                    [QuoteID] => 3988
                                                    [SequenceID] => 3
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

            [2] => Array
                (
                    [FLIGHT_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [SNo] => 33091
                                    [Flight_Search_ID] => 32994
                                    [SR_Request_ID] => 44396
                                    [flight_data_line] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [ID] => 11694
                                                    [ReqID] => 44396
                                                    [SearchID] => 32994
                                                    [QuoteID] => 3989
                                                    [SequenceID] => 2
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

            [3] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16043
                                    [SNo] => 16048
                                    [Hotel_Search_ID] => 16043
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3959
                                                    [SequenceID] => 4
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

            [4] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16043
                                    [SNo] => 16048
                                    [Hotel_Search_ID] => 16043
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3960
                                                    [SequenceID] => 6
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

            [5] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16045
                                    [SNo] => 16050
                                    [Hotel_Search_ID] => 16045
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3961
                                                    [SequenceID] => 1
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200327
                )
        )
)

В этом массиве $ MainArrayData HOTEL_DATA массив повторяется 3 раза и FLIGHT_DATA Массив повторяется 2 раза, а CAR_DATA повторяется 1 раз. В HOTEL_DATA 3 массива с массивом hotel_data_line SequenceID равен 1,6,4, а в FLIGHT_DATA 2 массивах с flight_data_line SequenceID равен 2,3 и массивом CAR_DATA 1 с car_data_line массив SequenceID равен 5. Здесь показано, как отобразить выходные данные на основе SequenceID в каждом массиве (HOTEL_DATA {hotel_data_line}, CAR_DATA {car_data_line}, FLIGHT_DATA {flight_data_line}) вложенных массивов. Ожидаемый результат ниже.

$OUTPUT= 
Array
(
    [0] => Array
        (

            [5] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16045
                                    [SNo] => 16050
                                    [Hotel_Search_ID] => 16045
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3961
                                                    [SequenceID] => 1
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200327
                )

                [2] => Array
                (
                    [FLIGHT_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [SNo] => 33091
                                    [Flight_Search_ID] => 32994
                                    [SR_Request_ID] => 44396
                                    [flight_data_line] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [ID] => 11694
                                                    [ReqID] => 44396
                                                    [SearchID] => 32994
                                                    [QuoteID] => 3989
                                                    [SequenceID] => 2
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

                [1] => Array
                (
                    [FLIGHT_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [SNo] => 33091
                                    [Flight_Search_ID] => 32994
                                    [SR_Request_ID] => 44396
                                    [flight_data_line] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [ID] => 11693
                                                    [ReqID] => 44396
                                                    [SearchID] => 32994
                                                    [QuoteID] => 3988
                                                    [SequenceID] => 3
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

                [3] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16043
                                    [SNo] => 16048
                                    [Hotel_Search_ID] => 16043
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3959
                                                    [SequenceID] => 4
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )

                [0] => Array
                (
                    [CAR_DATA] => Array
                        (
                            [0] => Array
                                (
                                    [SNo] => 1607
                                    [SRRequestID] => 44396
                                    [AncillarySearchID] => 1626
                                    [MAPPINGID] => 1626
                                    [BookingDate] => 
                                    [car_data_line] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [QuoteID] => 189
                                                    [SequenceID] => 5
                                                    [QuoteGeneratedID] => R44396-1473
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 
                )

                [4] => Array
                (
                    [HOTEL_DATA] => stdClass Object
                        (
                            [0] => stdClass Object
                                (
                                    [hid] => 16043
                                    [SNo] => 16048
                                    [Hotel_Search_ID] => 16043
                                    [SR_Request_ID] => 44396
                                    [hotel_data_line] => stdClass Object
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [QuoteID] => 3960
                                                    [SequenceID] => 6
                                                    [QuoteGeneratedID] => R44396-1473
                                                    [RequestID] => 44396
                                                )
                                        )
                                )
                        )
                    [QMergeId] => 
                    [BookingDate] => 20200317
                )
        )
)

Я пробовал вот так, но я не получил результат.

function sorting($CAR_DATA, $FLIGHT_DATA,$HOTEL_DATA) {
    return strcmp($CAR_DATA['car_data_line']->SequenceID, $FLIGHT_DATA['flight_data_line']->SequenceID,$HOTEL_DATA['hotel_data_line']->SequenceID);
}

usort($MainArrayData, "sorting");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...