Получить пересекающиеся строки из двух 2D-массивов [дубликат] ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Получить пересекающиеся строки из двух 2D-массивов [дубликат]

Сообщение Anonymous »

Я пытаюсь получить пересечение двух или более массивов с такой структурой:

Первый массив:

Код: Выделить всё

array(
[0] => array(
['room_id'] => 21
['room_name'] => 'GB 101'
['capacity'] => 40
)
[1] => array(
['room_id'] => 22
['room_name'] => 'H 114'
['capacity'] => 20
)
[2] => array(
['room_id'] => 23
['room_name'] => 'GB 203'
['capacity'] => 20
)
[3] => array(
['room_id'] => 25
['room_name'] => 'H 100'
['capacity'] => 30
)
[4] => array(
['room_id'] => 26
['room_name'] => 'GB 206'
['capacity'] => 40
)
)
Второй массив:

Код: Выделить всё

array(
[0] => array(
['room_id'] => 21
['room_name'] => 'GB 101'
['capacity'] => 40
)
[1] => array(
['room_id'] => 23
['room_name'] => 'GB 203'
['capacity'] => 20
)
[2] => array(
['room_id'] => 26
['room_name'] => 'GB 206'
['capacity'] => 40
)
)
Результирующий массив:

Код: Выделить всё

array(
[0] => array(
['room_id'] => 21
['room_name'] => 'GB 101'
['capacity'] => 40
)
[1] => array(
['room_id'] => 23
['room_name'] => 'GB 203'
['capacity'] => 20
)
[2] => array(
['room_id'] => 26
['room_name'] => 'GB 206'
['capacity'] => 40
)
)
Я попробовал использовать array_intersect_assoc, чтобы получить пересечение, используя следующий код:

Код: Выделить всё

$result = call_user_func_array('array_intersect_assoc', $arrays);
Это помогает, но выдает следующее предупреждение, которое ожидается здесь:


Обнаружена ошибка PHP

Серьезность: уведомление

Сообщение: преобразование массива в строку


Я делаю Система на основе Ajax, поэтому ошибка все портит. Есть ли способ получить пересечение массивов?

Подробнее здесь: https://stackoverflow.com/questions/314 ... -2d-arrays

Вернуться в «Php»