Метод only
Метод only применяется к массивам через фасад Arr
или к коллекциям и возвращает новый массив или коллекцию,
содержащие только указанные ключи. Первым параметром
передаётся массив или коллекция, вторым - список ключей,
которые нужно оставить. Если передан один ключ, его можно
указать как строку.
Синтаксис
<?php
use Illuminate\Support\Arr;
// Для массивов
Arr::only($array, $keys);
// Для коллекций
collect($array)->only($keys);
?>
Пример
Давайте оставим из массива только ключи 'name' и 'email':
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'email' => 'john@example.com',
'age' => 25,
'city' => 'New York'
];
$res = Arr::only($user, ['name', 'email']);
print_r($res);
?>
Результат выполнения кода:
Array
(
[name] => John
[email] => john@example.com
)
Пример
Давайте оставим один ключ 'name', передав его как строку:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'email' => 'john@example.com',
'age' => 25
];
$res = Arr::only($user, 'name');
print_r($res);
?>
Результат выполнения кода:
Array
(
[name] => John
)
Пример
Давайте используем метод only на коллекции пользователей:
<?php
$users = collect([
['id' => 1, 'name' => 'John', 'age' => 25],
['id' => 2, 'name' => 'Jane', 'age' => 30],
['id' => 3, 'name' => 'Bob', 'age' => 28]
]);
$res = $users->only([0, 2]);
foreach ($res as $user) {
echo $user['name'] . "\n";
}
?>
Результат выполнения кода:
"John"
"Bob"
Пример
Давайте оставим только ключи 'name' и 'city' из вложенного массива:
<?php
use Illuminate\Support\Arr;
$data = [
'user' => [
'name' => 'John',
'email' => 'john@example.com',
'city' => 'New York'
],
'status' => 'active'
];
$res = Arr::only($data['user'], ['name', 'city']);
print_r($res);
?>
Результат выполнения кода:
Array
(
[name] => John
[city] => New York
)
Смотрите также
-
метод
except,
который исключает указанные ключи из массива или коллекции -
метод
Arr::except,
который исключает указанные ключи из массива -
метод
pluck,
который извлекает значения указанного ключа из коллекции -
метод
forget,
который удаляет указанные ключи из коллекции