Может быть, это то, что вы ищете.
В следующий раз, пожалуйста, предоставьте сериализованный массив JSON, чтобы другим людям не приходилось переписывать ваши массивы.
<?php
$arrayData = array(
(object)(array(
"id" => 100638,
"gate_name" => "Gate 148",
"floor_id" => 4
)),
(object)(array(
"id" => 100639,
"gate_name" => " Gate 148",
"floor_id" => 5
)),
(object)(array(
"id" => 100640,
"gate_name" => "Gate 148",
"floor_id" => 6
)),
(object)(array(
"id" => 100644,
"gate_name" => "Gate 148",
"floor_id" => 6
)),
(object)(array(
"id" => 100643,
"gate_name" => "Gate 148",
"floor_id" => 4
))
);
$result = array();
foreach ($arrayData as $key => $data) {
$result[$data->floor_id]["floors"] = $data->floor_id;
$result[$data->floor_id]["data"][] = (array)$data;
// Remove the old data to minimize the memory allocation.
unset($arrayData[$key]);
}
// Clean up.
unset($arrayData, $key, $data);
// Clean up the array index.
$result = array_values($result);
print_r($result);