Я работаю с двумя (2) массивами, динамически создаваемыми из данных MySQL.Один массив содержит все таблицы, доступные для бронирования.Вторая таблица содержит информацию о таблицах, забронированных на указанное время.Вещи выглядят так:
<?php
$all_tables = array(
0 => array('table_no' => '102', 'size' => '200sqm', 'color' => 'red', 'shape' => 'round', 'dept' => 'legal'),
1 => array('table_no' => '123', 'size' => '220sqm', 'color' => 'grey', 'shape' => 'square', 'dept' => 'Sales'),
2 => array('table_no' => '133', 'size' => '200sqm', 'color' => 'black', 'shape' => 'square', 'dept' => 'Accounts'),
3 => array('table_no' => '168', 'size' => '280sqm', 'color' => 'blue', 'shape' => 'round', 'dept' => 'legal'),
4 => array('table_no' => '714', 'size' => '200sqm', 'color' => 'black', 'shape' => 'round', 'dept' => 'Marketing')
);
$booked_tables = array(
0 => array('booking_no' => '1', 'table_no' => '123', 'date_booked' => '01-05-18'),
1 => array('booking_no' => '2', 'table_no' => '168', 'date_booked' => '03-05-18')
);
?>
Что я хочу сделать:
Основной массив - массив $ all_tables.Я хочу исключить все массивы из массива $ all_tables, table_no которого соответствует номеру таблицы массива в таблице $ booked_array.В вышеприведенном примере результирующие массивы после обработки этих массивов будут:
$available_tables = array(
0 => array('table_no' => '102', 'size' => '200sqm', 'color' => 'red', 'shape' => 'round', 'dept' => 'legal'),
1 => array('table_no' => '133', 'size' => '200sqm', 'color' => 'black', 'shape' => 'square', 'dept' => 'Accounts'),
2 => array('table_no' => '714', 'size' => '200sqm', 'color' => 'black', 'shape' => 'round', 'dept' => 'Marketing')
);
Если возможно, я был бы рад создать многомерный массив, содержащий удаленные массивы.Но это нормально, если они будут удалены.
То, что я пробовал:
foreach($all_rooms as $rooms) {
foreach($booked_rooms as $booked) {
$booked['table_no'];
}
if (( $booked['table_no']) == ($rooms['table_no'])) {
//remove some array or identify some array
}
}
К сожалению, я не смог пройти мимо не очень хорошего начала.Я думаю, что две петли могли бы добиться цели.Или, может быть, это требует пользовательских функций или ни того, ни другого.Во всяком случае, мои мозговые клетки не могут выработать логику.
Вопрос:
Как мне достичь желаемого результата выше?Есть предложения, советы?Это вообще возможно?Пожалуйста, помогите.