Функция array_diff в PHP: как работает и как использовать массивы?
Функция array_diff() в PHP позволяет находить различия между несколькими массивами и возвращать только те элементы, которые отсутствуют в других массивах.
Например, у нас есть два массива:
$first_arr = array("apple", "orange", "banana", "grape");
$second_arr = array("apple", "banana", "pear", "kiwi");
Если мы применим функцию array_diff() к этим массивам, то мы получим только те элементы, которые не содержатся во втором массиве:
$result_diff = array_diff($first_arr, $second_arr);
Результатом будет новый массив, содержащий только элемент "orange" и "grape".
Можно использовать функцию array_diff() для нахождения различий в дополнительных свойствах, когда работаем с объектами. Например:
class User {
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$user1 = new User("John", 20);
$user2 = new User("Jane", 25);
$user3 = new User("Peter", 30);
$userArr1 = array($user1, $user2);
$userArr2 = array($user2, $user3);
$result_diff = array_diff($userArr1, $userArr2);
Результатом будет массив, содержащий объект "User" с именем "John" и возрастом "20", так как этот объект отсутствует во втором массиве.
Таким образом, функция array_diff() в PHP очень удобна и позволяет легко находить различия между массивами или объектами.