Определить, содержат ли два массива идентичные данныеPhp

Кемеровские программисты php общаются здесь
Anonymous
Определить, содержат ли два массива идентичные данные

Сообщение Anonymous »

Я пытаюсь сравнить два массива, и я хочу узнать по ним, совпадают ли они, а если нет.
Итак, я имею в виду, совпадают ли мои старые значения с новыми значениями полностью, например, все мои старые значения совпадают на 100 %
для новых значений вплоть до суммы, указанной в массиве.
Например
старое значение
array [
Item 1,
Item 2
]

новое значение
array [
Item 1,
Item 2
]

Тогда это совпадение, но если это
старое значение
array [
Item 1,
Item 2
]

новое значение
array [
Item 1,
Item 2,
Item 3
]

оно не соответствует, потому что элемент 3 сейчас там или это
старое значение
array [
Item 1,
Item 2
]

новое значение
array [
Item 1,
]

тогда это не соответствует, потому что элемент 2 был удален.
Но с моим кодом я получаю эту ошибку

Преобразование массива в строку

и оно указывает на эту строку кода $result = array_diff($old_items , $new_items);
Вот мой код
public function updateItems(Item $item, Category $category)
{
$old_category = $category;
$old_items = Item::where('category_id', $old_category->id)->get()->toArray();

$new_category = Category::find(request('category'));
$new_items = Item::where('category_id', $new_category->id)->get()->toArray();

$result = array_diff($old_items, $new_items);
print_r($result);
die();
}


Подробнее здесь: https://stackoverflow.com/questions/656 ... tical-data

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