Intereting Posts

Сравните два многомерных массива и несоответствующие элементы

ОБНОВЛЕНИЕ: после ответов, которые я получил, я понял, что буду пытаться решить это уже с запросом базы данных, поэтому я написал более подробный отчет здесь

ORIGINAL POST: Я хотел бы сравнить два многомерных массива и избавиться от элементов, которые соответствуют определенным критериям. Я знаю, что мне придется перебирать массивы с помощью некоторых клавиш, а затем отключать, но я не могу сделать это правильно.

Два массива – это $all что хранит все доступные комнаты и их кровати, и $reserved которых есть только зарезервированные комнаты и зарезервированные кровати.

Я хочу пропустить все оговорки и взять название комнаты, которое находится в позиции $reservations[x][0] где x – просматриваемая в данный момент резервирование и сравнивает ее со всеми элементами в $all[a][0] где a в настоящее время просматривается комната.

Итак, когда я нахожу, что значение $all[0][0] => «Luxury Room» соответствует $reservations[0][0] => «Luxury Room», я посмотрю на кровати и код кровати на месте y, где y – рассматриваемый в настоящее время код кровати $reservations[x][1][y] и сравнивает его со всеми доступными кроватями для сопоставленной комнаты, так что с помощью $all[0][1][b] где b – все доступные номера.

И когда я узнаю, что значение $all[0][1][1] => 'xx2' соответствует значению в $reservations[0][1][0] => 'xx2', я отключу индекс 0 1 от $all

поэтому, наконец, когда я пройду через массив $all и перечислит индекс каждого элемента [0] как заголовок и элементы массива в индексе 1 в качестве постелей, я бы только встал на кровать «xx2», как доступный для «Luxury Room»,

 //$all is an array where index 0 is an array $all = array( 0=>array( //index 0 has value 'Luxury Room' (room title) 0=>'Luxury Room', //index 1 is an array 1=>array( //where index 0 has value 'xx1' (bed code) 0=>'xx1', //where index 1 has value 'xx2' (bed code) 1=>'xx2')), //again index 1 is an array etc. just as above... 1=>array( 0=>'Cheap Room', 1=>array( 0=>'zz1', 1=>'zz2', 2=>'zz3', 3=>'zz4'))); $reserved = array( 0=>array( 0=>'Luxury Room', 1=>array(0=>'xx2')));