Как отсортировать массив данных массива по порядку в 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");