3v4l.org

run code in 500+ PHP versions simultaneously
<?php $array = [ 0 => [ "room_id" => "1", "date" => "01-07-2022", "available" => "A" ], 1 => [ "room_id" => "2", "date" => "01-07-2022", "available" => "A" ], 2 => [ "room_id" => "1", "date" => "02-07-2022", "available" => "A" ], 3 => [ "room_id" => "2", "date" => "02-07-2022", "available" => "U" ], 4 => [ "room_id" => "1", "date" => "03-07-2022", "available" => "U" ], 5 => [ "room_id" => "2", "date" => "03-07-2022", "available" => "U" ], 6 => [ "room_id" => "1", "date" => "04-07-2022", "available" => "U" ], ]; $hasVacancy = []; $hasNoVacancy = []; foreach ($array as $row) { if ($row['available'] === 'A') { $hasVacancy[$row['date']] = $row; } else { $hasNoVacancy[$row['date']] = $row; } } var_export(array_values($hasVacancy)); echo "\n---\n"; var_export( array_values(array_diff_key($hasNoVacancy, $hasVacancy)) );
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
array ( 0 => array ( 'room_id' => '2', 'date' => '01-07-2022', 'available' => 'A', ), 1 => array ( 'room_id' => '1', 'date' => '02-07-2022', 'available' => 'A', ), ) --- array ( 0 => array ( 'room_id' => '2', 'date' => '03-07-2022', 'available' => 'U', ), 1 => array ( 'room_id' => '1', 'date' => '04-07-2022', 'available' => 'U', ), )

preferences:
81.43 ms | 1321 KiB | 4 Q