Сравнить вложенные массивы?

114
05 октября 2019, 08:30

$result = array_diff($array, $array2) почему такая конструкция перестаёт работать если сделать так $array2=array_chunk($array2, 4); $array=array_chunk($array, 4)

и как всё таки сравнить вложенный массив с вложенным массивом

Answer 1

как тебе уже написали, в пхп нет рекурсивной ф-ии array_diff, для сравнения многомерных массивов используй ключи массивов, посмотри на этот пример

$array  = ['1','2','3','4','5','6','7','8',];
$array2 = ['1','2','3','4','5','6','7','8',];
$result = array_diff($array, $array2);
print_r($result);//пустой массив
//---
$array=array_chunk($array, 4);
$array2=array_chunk($array2, 4);
print_r($array);//двумерный массив
print_r($array2);//двумерный массив
$result = array_diff($array[0], $array2[0]);
print_r($result);//пустой массив
$result = array_diff($array[1], $array2[1]);
print_r($result);//пустой массив
Answer 2

Стандартной функции для этого нет, но есть несколько вариантов

  1. Сделать из многомерных массив одномерные и использовать array_diff
  2. Использовать array_udiff с callback функцией

http://php.net/manual/ru/function.array-udiff.php

READ ALSO
Удаления файлов PHP

Удаления файлов PHP

По нажатию на елемент хочу удалять файлы из бд и сервера, но получаю пустой ответ от сервера и ошибку:

133
Поиск текста по регулярным выражениям php

Поиск текста по регулярным выражениям php

Перепробовал все варианты не могу найти решениеЕсть строчка "Volvo XC40 (2018) интерьер" собственно нужно найти слово "интерьер" но это слово встречается...

109
Откат транзакции в PHP (MariaDB, InnoDB) при нескольких параллельных транзакциях изменяющих одинаковые поля

Откат транзакции в PHP (MariaDB, InnoDB) при нескольких параллельных транзакциях изменяющих одинаковые поля

У меня есть несколько PHP кодов с PDO транзакциями, измняющими одинаковые поля в базе данныхКоды могут запускаться в разные моменты времени

120
Содержимого формы нет в письме

Содержимого формы нет в письме

Настроил скрипт отправки формы, письмо доходит, но без данных формыФорма:

116