Метод pull
Метод pull применяется к коллекции или массиву и возвращает значение элемента по указанному ключу, одновременно удаляя этот элемент из исходной коллекции или массива. Первым параметром передаётся ключ, вторым параметром можно указать значение по умолчанию, которое будет возвращено, если ключ не найден. В случае работы с коллекцией, метод возвращает значение элемента, после чего коллекция модифицируется без этого элемента.
Синтаксис
<?php
$collection->pull($key, $default);
?>
Пример
Давайте извлечём элемент с ключом 'name' из коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['name' => 'John', 'age' => 30, 'city' => 'New York']);
$name = $collection->pull('name');
echo $name;
print_r($collection->all());
?>
Результат выполнения кода:
"John"
["age" => 30, "city" => "New York"]
Пример
Давайте извлечём элемент с ключом 'country', которого нет в коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['name' => 'John', 'age' => 30]);
$country = $collection->pull('country', 'Unknown');
echo $country;
print_r($collection->all());
?>
Результат выполнения кода:
"Unknown"
["name" => "John", "age" => 30]
Пример
Давайте используем метод pull для работы с обычным массивом через класс Arr:
<?php
use Illuminate\Support\Arr;
$array = ['user' => 'admin', 'email' => 'admin@example.com', 'role' => 'manager'];
$user = Arr::pull($array, 'user');
echo $user;
print_r($array);
?>
Результат выполнения кода:
"admin"
["email" => "admin@example.com", "role" => "manager"]
Пример
Давайте извлечём элемент с ключом 'status', используя значение по умолчанию:
<?php
use Illuminate\Support\Arr;
$array = ['id' => 1, 'name' => 'category'];
$status = Arr::pull($array, 'status', 'active');
echo $status;
print_r($array);
?>
Результат выполнения кода:
"active"
["id" => 1, "name" => "category"]