<? phpukraine ДОКУМЕНТАЦІЯ
Пошук по платформі
Документація українською

Переклад офіційної документації українською. Кожен розділ показує стан готовності: недоперекладене позначене відкрито, а не приховане.

ВЕРСІЯ
АКТУАЛЬНА Актуальний реліз. Переклад наздоганяє оригінал, розділи з низьким відсотком позначені у змісті.
ГЛИБШЕ · ЧАСТКОВО частковий переклад, оновлено 13 вересня 2026

Хелпери · Laravel

ПЕРЕКЛАД НЕПОВНИЙ

Частину підрозділів ще не перекладено, вони показані англійською нижче в тексті або лишились в оригіналі. Готові фрагменти вже перевірені редактором.

Вступ

Laravel містить набір глобальних «хелперних» PHP-функцій. Багато з них використовує сам фреймворк, але ніщо не заважає застосовувати їх і у власних застосунках, якщо вони вам зручні.

Доступні методи

Масиви й обʼєкти

Arr::accessible Arr::add Arr::array Arr::boolean Arr::collapse Arr::crossJoin Arr::divide Arr::dot Arr::every Arr::except Arr::exceptValues Arr::exists Arr::first Arr::flatten Arr::float Arr::forget Arr::from Arr::get Arr::has Arr::hasAll Arr::hasAny Arr::integer Arr::isAssoc Arr::isList Arr::join Arr::keyBy Arr::last Arr::map Arr::mapSpread Arr::mapWithKeys Arr::only Arr::onlyValues Arr::partition Arr::pluck Arr::prepend Arr::prependKeysWith Arr::pull Arr::push Arr::query Arr::random Arr::reject Arr::select Arr::set Arr::shuffle Arr::sole Arr::some Arr::sort Arr::sortDesc Arr::sortRecursive Arr::string Arr::take Arr::toCssClasses Arr::toCssStyles Arr::undot Arr::where Arr::whereNotNull Arr::wrap data_fill data_get data_set data_forget head last

Числа

Number::abbreviate Number::clamp Number::currency Number::defaultCurrency Number::defaultLocale Number::fileSize Number::forHumans Number::format Number::ordinal Number::pairs Number::parse Number::parseInt Number::parseFloat Number::percentage Number::spell Number::spellOrdinal Number::trim Number::useLocale Number::withLocale Number::useCurrency Number::withCurrency

Шляхи

app_path base_path config_path database_path lang_path public_path resource_path storage_path

URL

action asset route secure_asset secure_url to_action to_route uri url

Різне

abort abort_if abort_unless app auth back bcrypt blank broadcast broadcast_if broadcast_unless cache class_uses_recursive collect config context cookie csrf_field csrf_token decrypt dd dispatch dispatch_sync dump encrypt env event fake filled info literal logger method_field now old once optional policy redirect report report_if report_unless request rescue resolve response retry session tap throw_if throw_unless today trait_uses_recursive transform validator value view with when

Масиви й обʼєкти

Arr::accessible()

Метод Arr::accessible визначає, чи є передане значення доступним як масив:

use Illuminate\Support\Arr;
use Illuminate\Support\Collection;

$isAccessible = Arr::accessible(['a' => 1, 'b' => 2]);

// true

$isAccessible = Arr::accessible(new Collection);

// true

$isAccessible = Arr::accessible('abc');

// false

$isAccessible = Arr::accessible(new stdClass);

// false

Arr::add()

Метод Arr::add додає до масиву задану пару ключ / значення, якщо такого ключа в масиві ще немає або його значення дорівнює null:

use Illuminate\Support\Arr;

$array = Arr::add(['name' => 'Desk'], 'price', 100);

// ['name' => 'Desk', 'price' => 100]

$array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100);

// ['name' => 'Desk', 'price' => 100]

Arr::array()

Метод Arr::array дістає значення з глибоко вкладеного масиву за «крапковою» нотацією (так само, як Arr::get()), але кидає InvalidArgumentException, якщо запитане значення не є array:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$value = Arr::array($array, 'languages');

// ['PHP', 'Ruby']

$value = Arr::array($array, 'name');

// throws InvalidArgumentException

Arr::boolean()

Метод Arr::boolean дістає значення з глибоко вкладеного масиву за «крапковою» нотацією (так само, як Arr::get()), але кидає InvalidArgumentException, якщо запитане значення не є boolean:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'available' => true];

$value = Arr::boolean($array, 'available');

// true

$value = Arr::boolean($array, 'name');

// throws InvalidArgumentException

Arr::collapse()

Метод Arr::collapse згортає масив масивів або колекцій в один масив:

use Illuminate\Support\Arr;

$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

Arr::crossJoin()

Метод Arr::crossJoin перехресно обʼєднує передані масиви, повертаючи декартів добуток з усіма можливими комбінаціями:

use Illuminate\Support\Arr;

$matrix = Arr::crossJoin([1, 2], ['a', 'b']);

/*
    [
        [1, 'a'],
        [1, 'b'],
        [2, 'a'],
        [2, 'b'],
    ]
*/

$matrix = Arr::crossJoin([1, 2], ['a', 'b'], ['I', 'II']);

/*
    [
        [1, 'a', 'I'],
        [1, 'a', 'II'],
        [1, 'b', 'I'],
        [1, 'b', 'II'],
        [2, 'a', 'I'],
        [2, 'a', 'II'],
        [2, 'b', 'I'],
        [2, 'b', 'II'],
    ]
*/

Arr::divide()

Метод Arr::divide повертає два масиви: один із ключами, другий зі значеннями переданого масиву:

use Illuminate\Support\Arr;

[$keys, $values] = Arr::divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

Arr::dot()

Метод Arr::dot розгортає багатовимірний масив в одновимірний, де глибина позначена «крапковою» нотацією:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

$flattened = Arr::dot($array);

// ['products.desk.price' => 100]

Arr::every()

Метод Arr::every перевіряє, що всі значення масиву проходять задану перевірку:

use Illuminate\Support\Arr;

$array = [1, 2, 3];

Arr::every($array, fn ($i) => $i > 0);

// true

Arr::every($array, fn ($i) => $i > 2);

// false

Arr::except()

Метод Arr::except видаляє з масиву задані пари ключ / значення:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100];

$filtered = Arr::except($array, ['price']);

// ['name' => 'Desk']

Arr::exceptValues()

Метод Arr::exceptValues видаляє з масиву вказані значення:

use Illuminate\Support\Arr;

$array = ['foo', 'bar', 'baz', 'qux'];

$filtered = Arr::exceptValues($array, ['foo', 'baz']);

// ['bar', 'qux']

Щоб під час фільтрації використовувалося строге порівняння типів, передайте true в аргумент strict:

use Illuminate\Support\Arr;

$array = [1, '1', 2, '2'];

$filtered = Arr::exceptValues($array, [1, 2], strict: true);

// ['1', '2']

Arr::exists()

Метод Arr::exists перевіряє, чи існує заданий ключ у переданому масиві:

use Illuminate\Support\Arr;

$array = ['name' => 'John Doe', 'age' => 17];

$exists = Arr::exists($array, 'name');

// true

$exists = Arr::exists($array, 'salary');

// false

Arr::first()

Метод Arr::first повертає перший елемент масиву, який проходить задану перевірку:

use Illuminate\Support\Arr;

$array = [100, 200, 300];

$first = Arr::first($array, function (int $value, int $key) {
    return $value >= 150;
});

// 200

Третім параметром методу можна передати значення за замовчуванням. Воно повернеться, якщо жодне значення не пройде перевірку:

use Illuminate\Support\Arr;

$first = Arr::first($array, $callback, $default);

Arr::flatten()

Метод Arr::flatten розгортає багатовимірний масив в одновимірний:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$flattened = Arr::flatten($array);

// ['Joe', 'PHP', 'Ruby']

Arr::float()

Метод Arr::float дістає значення з глибоко вкладеного масиву за «крапковою» нотацією (так само, як Arr::get()), але кидає InvalidArgumentException, якщо запитане значення не є float:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'balance' => 123.45];

$value = Arr::float($array, 'balance');

// 123.45

$value = Arr::float($array, 'name');

// throws InvalidArgumentException

Arr::forget()

Метод Arr::forget видаляє задані пари ключ / значення з глибоко вкладеного масиву за «крапковою» нотацією:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::forget($array, 'products.desk');

// ['products' => []]

Arr::from()

Метод Arr::from перетворює різні типи вхідних даних на звичайний PHP-масив. Він підтримує масиви, обʼєкти та кілька поширених інтерфейсів Laravel, зокрема Arrayable, Enumerable, Jsonable і JsonSerializable. Також він обробляє екземпляри Traversable і WeakMap:

use Illuminate\Support\Arr;

Arr::from((object) ['foo' => 'bar']); // ['foo' => 'bar']

class TestJsonableObject implements Jsonable
{
    public function toJson($options = 0)
    {
        return json_encode(['foo' => 'bar']);
    }
}

Arr::from(new TestJsonableObject); // ['foo' => 'bar']

Arr::get()

Метод Arr::get дістає значення з глибоко вкладеного масиву за «крапковою» нотацією:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

$price = Arr::get($array, 'products.desk.price');

// 100

Метод Arr::get також приймає значення за замовчуванням, яке повернеться, якщо вказаного ключа в масиві немає:

use Illuminate\Support\Arr;

$discount = Arr::get($array, 'products.desk.discount', 0);

// 0

Arr::has()

Метод Arr::has перевіряє наявність у масиві заданого елемента або елементів за «крапковою» нотацією:

use Illuminate\Support\Arr;

$array = ['product' => ['name' => 'Desk', 'price' => 100]];

$contains = Arr::has($array, 'product.name');

// true

$contains = Arr::has($array, ['product.price', 'product.discount']);

// false

Arr::hasAll()

Метод Arr::hasAll визначає, чи існують у переданому масиві всі вказані ключі, використовуючи «крапкову» нотацію:

use Illuminate\Support\Arr;

$array = ['name' => 'Taylor', 'language' => 'PHP'];

Arr::hasAll($array, ['name']); // true
Arr::hasAll($array, ['name', 'language']); // true
Arr::hasAll($array, ['name', 'IDE']); // false

Arr::hasAny()

Метод Arr::hasAny перевіряє, чи існує в масиві хоч один елемент із заданого набору, використовуючи «крапкову» нотацію:

use Illuminate\Support\Arr;

$array = ['product' => ['name' => 'Desk', 'price' => 100]];

$contains = Arr::hasAny($array, 'product.name');

// true

$contains = Arr::hasAny($array, ['product.name', 'product.discount']);

// true

$contains = Arr::hasAny($array, ['category', 'product.discount']);

// false

Arr::integer()

Метод Arr::integer дістає значення з глибоко вкладеного масиву за «крапковою» нотацією (так само, як Arr::get()), але кидає InvalidArgumentException, якщо запитане значення не є int:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'age' => 42];

$value = Arr::integer($array, 'age');

// 42

$value = Arr::integer($array, 'name');

// throws InvalidArgumentException

Arr::isAssoc()

Метод Arr::isAssoc повертає true, якщо переданий масив асоціативний. Масив вважається «асоціативним», якщо він не має послідовних числових ключів, що починаються з нуля:

use Illuminate\Support\Arr;

$isAssoc = Arr::isAssoc(['product' => ['name' => 'Desk', 'price' => 100]]);

// true

$isAssoc = Arr::isAssoc([1, 2, 3]);

// false

Arr::isList()

Метод Arr::isList повертає true, якщо ключі переданого масиву є послідовними цілими числами, що починаються з нуля:

use Illuminate\Support\Arr;

$isList = Arr::isList(['foo', 'bar', 'baz']);

// true

$isList = Arr::isList(['product' => ['name' => 'Desk', 'price' => 100]]);

// false

Arr::join()

Метод Arr::join обʼєднує елементи масиву рядком. Третім аргументом можна задати окремий розділювач для останнього елемента масиву:

use Illuminate\Support\Arr;

$array = ['Tailwind', 'Alpine', 'Laravel', 'Livewire'];

$joined = Arr::join($array, ', ');

// Tailwind, Alpine, Laravel, Livewire

$joined = Arr::join($array, ', ', ', and ');

// Tailwind, Alpine, Laravel, and Livewire

Arr::keyBy()

Метод Arr::keyBy робить ключами масиву значення заданого ключа. Якщо кілька елементів мають однаковий ключ, у новому масиві залишиться тільки останній:

use Illuminate\Support\Arr;

$array = [
    ['product_id' => 'prod-100', 'name' => 'Desk'],
    ['product_id' => 'prod-200', 'name' => 'Chair'],
];

$keyed = Arr::keyBy($array, 'product_id');

/*
    [
        'prod-100' => ['product_id' => 'prod-100', 'name' => 'Desk'],
        'prod-200' => ['product_id' => 'prod-200', 'name' => 'Chair'],
    ]
*/

Arr::last()

Метод Arr::last повертає останній елемент масиву, який проходить задану перевірку:

use Illuminate\Support\Arr;

$array = [100, 200, 300, 110];

$last = Arr::last($array, function (int $value, int $key) {
    return $value >= 150;
});

// 300

Третім аргументом методу можна передати значення за замовчуванням. Воно повернеться, якщо жодне значення не пройде перевірку:

use Illuminate\Support\Arr;

$last = Arr::last($array, $callback, $default);

Arr::map()

Метод Arr::map проходить масивом і передає кожне значення та ключ у заданий колбек. Значення масиву замінюється тим, що повернув колбек:

use Illuminate\Support\Arr;

$array = ['first' => 'james', 'last' => 'kirk'];

$mapped = Arr::map($array, function (string $value, string $key) {
    return ucfirst($value);
});

// ['first' => 'James', 'last' => 'Kirk']

Arr::mapSpread()

Метод Arr::mapSpread проходить масивом і передає значення кожного вкладеного елемента в задане замикання. Замикання може змінити елемент і повернути його, формуючи новий масив змінених елементів:

use Illuminate\Support\Arr;

$array = [
    [0, 1],
    [2, 3],
    [4, 5],
    [6, 7],
    [8, 9],
];

$mapped = Arr::mapSpread($array, function (int $even, int $odd) {
    return $even + $odd;
});

/*
    [1, 5, 9, 13, 17]
*/

Arr::mapWithKeys()

Метод Arr::mapWithKeys проходить масивом і передає кожне значення в заданий колбек. Колбек має повернути асоціативний масив з однією парою ключ / значення:

use Illuminate\Support\Arr;

$array = [
    [
        'name' => 'John',
        'department' => 'Sales',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Jane',
        'department' => 'Marketing',
        'email' => 'jane@example.com',
    ]
];

$mapped = Arr::mapWithKeys($array, function (array $item, int $key) {
    return [$item['email'] => $item['name']];
});

/*
    [
        'john@example.com' => 'John',
        'jane@example.com' => 'Jane',
    ]
*/

Arr::only()

Метод Arr::only повертає з переданого масиву лише вказані пари ключ / значення:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$slice = Arr::only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

Arr::onlyValues()

Метод Arr::onlyValues повертає з масиву лише вказані значення:

use Illuminate\Support\Arr;

$array = ['foo', 'bar', 'baz', 'qux'];

$filtered = Arr::onlyValues($array, ['foo', 'baz']);

// ['foo', 'baz']

Щоб під час фільтрації використовувалося строге порівняння типів, передайте true в аргумент strict:

use Illuminate\Support\Arr;

$array = [1, '1', 2, '2'];

$filtered = Arr::onlyValues($array, [1, 2], strict: true);

// [1, 2]

Arr::partition()

Метод Arr::partition у поєднанні з деструктуризацією масивів PHP розділяє елементи, що проходять задану перевірку, і ті, що її не проходять:

<?php

use Illuminate\Support\Arr;

$numbers = [1, 2, 3, 4, 5, 6];

[$underThree, $equalOrAboveThree] = Arr::partition($numbers, function (int $i) {
    return $i < 3;
});

dump($underThree);

// [1, 2]

dump($equalOrAboveThree);

// [3, 4, 5, 6]

Arr::pluck()

Метод Arr::pluck дістає з масиву всі значення за заданим ключем:

use Illuminate\Support\Arr;

$array = [
    ['developer' => ['id' => 1, 'name' => 'Taylor']],
    ['developer' => ['id' => 2, 'name' => 'Abigail']],
];

$names = Arr::pluck($array, 'developer.name');

// ['Taylor', 'Abigail']

Можна також вказати, за яким ключем формувати результат:

use Illuminate\Support\Arr;

$names = Arr::pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail']

Arr::prepend()

Метод Arr::prepend додає елемент на початок масиву:

use Illuminate\Support\Arr;

$array = ['one', 'two', 'three', 'four'];

$array = Arr::prepend($array, 'zero');

// ['zero', 'one', 'two', 'three', 'four']

За потреби можна вказати ключ, який слід використати для значення:

use Illuminate\Support\Arr;

$array = ['price' => 100];

$array = Arr::prepend($array, 'Desk', 'name');

// ['name' => 'Desk', 'price' => 100]

Arr::prependKeysWith()

Метод Arr::prependKeysWith додає заданий префікс до всіх імен ключів асоціативного масиву:

use Illuminate\Support\Arr;

$array = [
    'name' => 'Desk',
    'price' => 100,
];

$keyed = Arr::prependKeysWith($array, 'product.');

/*
    [
        'product.name' => 'Desk',
        'product.price' => 100,
    ]
*/

Arr::pull()

Метод Arr::pull повертає пару ключ / значення і видаляє її з масиву:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100];

$name = Arr::pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

Третім аргументом методу можна передати значення за замовчуванням. Воно повернеться, якщо ключа не існує:

use Illuminate\Support\Arr;

$value = Arr::pull($array, $key, $default);

Arr::push()

Метод Arr::push додає елемент до масиву за «крапковою» нотацією. Якщо за вказаним ключем масиву немає, його буде створено:

use Illuminate\Support\Arr;

$array = [];

Arr::push($array, 'office.furniture', 'Desk');

// $array: ['office' => ['furniture' => ['Desk']]]

Arr::query()

Метод Arr::query перетворює масив на рядок запиту:

use Illuminate\Support\Arr;

$array = [
    'name' => 'Taylor',
    'order' => [
        'column' => 'created_at',
        'direction' => 'desc'
    ]
];

Arr::query($array);

// name=Taylor&order[column]=created_at&order[direction]=desc

Arr::random()

Метод Arr::random повертає випадкове значення з масиву:

use Illuminate\Support\Arr;

$array = [1, 2, 3, 4, 5];

$random = Arr::random($array);

// 4 - (отримано випадково)

Другим необовʼязковим аргументом можна вказати кількість елементів, які потрібно повернути. Зверніть увагу: з цим аргументом метод поверне масив, навіть якщо потрібен лише один елемент:

use Illuminate\Support\Arr;

$items = Arr::random($array, 2);

// [2, 5] - (отримано випадково)

Arr::reject()

Метод Arr::reject видаляє з масиву елементи за допомогою заданого замикання:

use Illuminate\Support\Arr;

$array = [100, '200', 300, '400', 500];

$filtered = Arr::reject($array, function (string|int $value, int $key) {
    return is_string($value);
});

// [0 => 100, 2 => 300, 4 => 500]

Arr::select()

Метод Arr::select вибирає з масиву масив значень:

use Illuminate\Support\Arr;

$array = [
    ['id' => 1, 'name' => 'Desk', 'price' => 200],
    ['id' => 2, 'name' => 'Table', 'price' => 150],
    ['id' => 3, 'name' => 'Chair', 'price' => 300],
];

Arr::select($array, ['name', 'price']);

// [['name' => 'Desk', 'price' => 200], ['name' => 'Table', 'price' => 150], ['name' => 'Chair', 'price' => 300]]

Arr::set()

Метод Arr::set встановлює значення всередині глибоко вкладеного масиву за «крапковою» нотацією:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

Arr::shuffle()

Метод Arr::shuffle випадково перемішує елементи масиву:

use Illuminate\Support\Arr;

$array = Arr::shuffle([1, 2, 3, 4, 5]);

// [3, 2, 5, 1, 4] - (згенеровано випадково)

Arr::sole()

Метод Arr::sole дістає з масиву одне значення за допомогою заданого замикання. Якщо перевірку проходить більше одного значення масиву, буде кинуто виняток Illuminate\Support\MultipleItemsFoundException. Якщо перевірку не проходить жодне значення, буде кинуто виняток Illuminate\Support\ItemNotFoundException:

use Illuminate\Support\Arr;

$array = ['Desk', 'Table', 'Chair'];

$value = Arr::sole($array, fn (string $value) => $value === 'Desk');

// 'Desk'

Arr::some()

Метод Arr::some перевіряє, що принаймні одне значення масиву проходить задану перевірку:

use Illuminate\Support\Arr;

$array = [1, 2, 3];

Arr::some($array, fn ($i) => $i > 2);

// true

Arr::sort()

Метод Arr::sort сортує масив за його значеннями:

use Illuminate\Support\Arr;

$array = ['Desk', 'Table', 'Chair'];

$sorted = Arr::sort($array);

// ['Chair', 'Desk', 'Table']

Масив також можна відсортувати за результатами заданого замикання:

use Illuminate\Support\Arr;

$array = [
    ['name' => 'Desk'],
    ['name' => 'Table'],
    ['name' => 'Chair'],
];

$sorted = array_values(Arr::sort($array, function (array $value) {
    return $value['name'];
}));

/*
    [
        ['name' => 'Chair'],
        ['name' => 'Desk'],
        ['name' => 'Table'],
    ]
*/

Arr::sortDesc()

Метод Arr::sortDesc сортує масив за його значеннями у спадному порядку:

use Illuminate\Support\Arr;

$array = ['Desk', 'Table', 'Chair'];

$sorted = Arr::sortDesc($array);

// ['Table', 'Desk', 'Chair']

Масив також можна відсортувати за результатами заданого замикання:

use Illuminate\Support\Arr;

$array = [
    ['name' => 'Desk'],
    ['name' => 'Table'],
    ['name' => 'Chair'],
];

$sorted = array_values(Arr::sortDesc($array, function (array $value) {
    return $value['name'];
}));

/*
    [
        ['name' => 'Table'],
        ['name' => 'Desk'],
        ['name' => 'Chair'],
    ]
*/

Arr::sortRecursive()

Метод Arr::sortRecursive рекурсивно сортує масив, застосовуючи функцію sort до підмасивів із числовими індексами і функцію ksort до асоціативних підмасивів:

use Illuminate\Support\Arr;

$array = [
    ['Roman', 'Taylor', 'Li'],
    ['PHP', 'Ruby', 'JavaScript'],
    ['one' => 1, 'two' => 2, 'three' => 3],
];

$sorted = Arr::sortRecursive($array);

/*
    [
        ['JavaScript', 'PHP', 'Ruby'],
        ['one' => 1, 'three' => 3, 'two' => 2],
        ['Li', 'Roman', 'Taylor'],
    ]
*/

Якщо потрібен результат у спадному порядку, скористайтеся методом Arr::sortRecursiveDesc.

$sorted = Arr::sortRecursiveDesc($array);

Arr::string()

Метод Arr::string дістає значення з глибоко вкладеного масиву за «крапковою» нотацією (так само, як Arr::get()), але кидає InvalidArgumentException, якщо запитане значення не є string:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$value = Arr::string($array, 'name');

// Joe

$value = Arr::string($array, 'languages');

// throws InvalidArgumentException

Arr::take()

Метод Arr::take повертає новий масив із вказаною кількістю елементів:

use Illuminate\Support\Arr;

$array = [0, 1, 2, 3, 4, 5];

$chunk = Arr::take($array, 3);

// [0, 1, 2]

Можна також передати відʼємне ціле число, щоб узяти вказану кількість елементів з кінця масиву:

$array = [0, 1, 2, 3, 4, 5];

$chunk = Arr::take($array, -2);

// [4, 5]

Arr::toCssClasses()

Метод Arr::toCssClasses умовно збирає рядок CSS-класів. Метод приймає масив класів, де ключ масиву містить клас або класи, які потрібно додати, а значення є булевим виразом. Якщо елемент масиву має числовий ключ, він завжди потрапляє до згенерованого списку класів:

use Illuminate\Support\Arr;

$isActive = false;
$hasError = true;

$array = ['p-4', 'font-bold' => $isActive, 'bg-red' => $hasError];

$classes = Arr::toCssClasses($array);

/*
    'p-4 bg-red'
*/

Arr::toCssStyles()

Метод Arr::toCssStyles умовно збирає рядок CSS-стилів. Метод приймає масив CSS-декларацій, де ключ масиву містить CSS-декларацію, яку потрібно додати, а значення є булевим виразом. Якщо елемент масиву має числовий ключ, він завжди потрапляє до зібраного рядка CSS-стилів:

use Illuminate\Support\Arr;

$hasColor = true;

$array = ['background-color: blue', 'color: blue' => $hasColor];

$classes = Arr::toCssStyles($array);

/*
    'background-color: blue; color: blue;'
*/

На цьому методі побудована можливість Laravel обʼєднувати класи з мішком атрибутів Blade-компонента, а також Blade-директива @class.

Arr::undot()

Метод Arr::undot розгортає одновимірний масив, що використовує «крапкову» нотацію, у багатовимірний:

use Illuminate\Support\Arr;

$array = [
    'user.name' => 'Kevin Malone',
    'user.occupation' => 'Accountant',
];

$array = Arr::undot($array);

// ['user' => ['name' => 'Kevin Malone', 'occupation' => 'Accountant']]

Arr::where()

Метод Arr::where фільтрує масив за допомогою заданого замикання:

use Illuminate\Support\Arr;

$array = [100, '200', 300, '400', 500];

$filtered = Arr::where($array, function (string|int $value, int $key) {
    return is_string($value);
});

// [1 => '200', 3 => '400']

Arr::whereNotNull()

Метод Arr::whereNotNull видаляє з переданого масиву всі значення null:

use Illuminate\Support\Arr;

$array = [0, null];

$filtered = Arr::whereNotNull($array);

// [0 => 0]

Arr::wrap()

Метод Arr::wrap загортає передане значення в масив. Якщо значення вже є масивом, воно повертається без змін:

use Illuminate\Support\Arr;

$string = 'Laravel';

$array = Arr::wrap($string);

// ['Laravel']

Якщо передане значення дорівнює null, повернеться порожній масив:

use Illuminate\Support\Arr;

$array = Arr::wrap(null);

// []

data_fill()

Функція data_fill встановлює відсутнє значення всередині вкладеного масиву або обʼєкта за «крапковою» нотацією:

$data = ['products' => ['desk' => ['price' => 100]]];

data_fill($data, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 100]]]

data_fill($data, 'products.desk.discount', 10);

// ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]

Ця функція також приймає зірочки як шаблони підстановки і заповнює ціль відповідно:

$data = [
    'products' => [
        ['name' => 'Desk 1', 'price' => 100],
        ['name' => 'Desk 2'],
    ],
];

data_fill($data, 'products.*.price', 200);

/*
    [
        'products' => [
            ['name' => 'Desk 1', 'price' => 100],
            ['name' => 'Desk 2', 'price' => 200],
        ],
    ]
*/

data_get()

Функція data_get дістає значення з вкладеного масиву або обʼєкта за «крапковою» нотацією:

$data = ['products' => ['desk' => ['price' => 100]]];

$price = data_get($data, 'products.desk.price');

// 100

Функція data_get також приймає значення за замовчуванням, яке повернеться, якщо вказаний ключ не знайдено:

$discount = data_get($data, 'products.desk.discount', 0);

// 0

Функція приймає й шаблони підстановки із зірочками, які можуть відповідати будь-якому ключу масиву чи обʼєкта:

$data = [
    'product-one' => ['name' => 'Desk 1', 'price' => 100],
    'product-two' => ['name' => 'Desk 2', 'price' => 150],
];

data_get($data, '*.name');

// ['Desk 1', 'Desk 2'];

Плейсхолдери {first} і {last} дають змогу дістати перший або останній елемент масиву:

$flight = [
    'segments' => [
        ['from' => 'LHR', 'departure' => '9:00', 'to' => 'IST', 'arrival' => '15:00'],
        ['from' => 'IST', 'departure' => '16:00', 'to' => 'PKX', 'arrival' => '20:00'],
    ],
];

data_get($flight, 'segments.{first}.arrival');

// 15:00

data_set()

Функція data_set встановлює значення всередині вкладеного масиву або обʼєкта за «крапковою» нотацією:

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

Ця функція також приймає шаблони підстановки із зірочками і встановлює значення в цілі відповідно:

$data = [
    'products' => [
        ['name' => 'Desk 1', 'price' => 100],
        ['name' => 'Desk 2', 'price' => 150],
    ],
];

data_set($data, 'products.*.price', 200);

/*
    [
        'products' => [
            ['name' => 'Desk 1', 'price' => 200],
            ['name' => 'Desk 2', 'price' => 200],
        ],
    ]
*/

За замовчуванням наявні значення перезаписуються. Якщо потрібно встановити значення лише тоді, коли його ще немає, передайте false четвертим аргументом функції:

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200, overwrite: false);

// ['products' => ['desk' => ['price' => 100]]]

data_forget()

Функція data_forget видаляє значення всередині вкладеного масиву або обʼєкта за «крапковою» нотацією:

$data = ['products' => ['desk' => ['price' => 100]]];

data_forget($data, 'products.desk.price');

// ['products' => ['desk' => []]]

Ця функція також приймає шаблони підстановки із зірочками і видаляє значення в цілі відповідно:

$data = [
    'products' => [
        ['name' => 'Desk 1', 'price' => 100],
        ['name' => 'Desk 2', 'price' => 150],
    ],
];

data_forget($data, 'products.*.price');

/*
    [
        'products' => [
            ['name' => 'Desk 1'],
            ['name' => 'Desk 2'],
        ],
    ]
*/

head()

Функція head повертає перший елемент переданого масиву. Якщо масив порожній, повернеться false:

$array = [100, 200, 300];

$first = head($array);

// 100

last()

Функція last повертає останній елемент переданого масиву. Якщо масив порожній, повернеться false:

$array = [100, 200, 300];

$last = last($array);

// 300

Числа

Number::abbreviate()

Метод Number::abbreviate повертає зручний для читання формат переданого числового значення зі скороченням одиниць:

use Illuminate\Support\Number;

$number = Number::abbreviate(1000);

// 1K

$number = Number::abbreviate(489939);

// 490K

$number = Number::abbreviate(1230000, precision: 2);

// 1.23M

Number::clamp()

Метод Number::clamp утримує задане число в межах вказаного діапазону. Якщо число менше за мінімум, повертається мінімальне значення. Якщо число більше за максимум, повертається максимальне:

use Illuminate\Support\Number;

$number = Number::clamp(105, min: 10, max: 100);

// 100

$number = Number::clamp(5, min: 10, max: 100);

// 10

$number = Number::clamp(10, min: 10, max: 100);

// 10

$number = Number::clamp(20, min: 10, max: 100);

// 20

Number::currency()

Метод Number::currency повертає валютне представлення переданого значення у вигляді рядка:

use Illuminate\Support\Number;

$currency = Number::currency(1000);

// $1,000.00

$currency = Number::currency(1000, in: 'EUR');

// €1,000.00

$currency = Number::currency(1000, in: 'EUR', locale: 'de');

// 1.000,00 €

$currency = Number::currency(1000, in: 'EUR', locale: 'de', precision: 0);

// 1.000 €

Number::defaultCurrency()

Метод Number::defaultCurrency повертає валюту за замовчуванням, яку використовує клас Number:

use Illuminate\Support\Number;

$currency = Number::defaultCurrency();

// USD

Number::defaultLocale()

Метод Number::defaultLocale повертає локаль за замовчуванням, яку використовує клас Number:

use Illuminate\Support\Number;

$locale = Number::defaultLocale();

// en

Number::fileSize()

Метод Number::fileSize повертає представлення розміру файлу для переданого значення в байтах у вигляді рядка:

use Illuminate\Support\Number;

$size = Number::fileSize(1024);

// 1 KB

$size = Number::fileSize(1024 * 1024);

// 1 MB

$size = Number::fileSize(1024, precision: 2);

// 1.00 KB

Number::forHumans()

Метод Number::forHumans повертає зручний для читання формат переданого числового значення:

use Illuminate\Support\Number;

$number = Number::forHumans(1000);

// 1 thousand

$number = Number::forHumans(489939);

// 490 thousand

$number = Number::forHumans(1230000, precision: 2);

// 1.23 million

Number::format()

Метод Number::format форматує передане число у рядок відповідно до локалі:

use Illuminate\Support\Number;

$number = Number::format(100000);

// 100,000

$number = Number::format(100000, precision: 2);

// 100,000.00

$number = Number::format(100000.123, maxPrecision: 2);

// 100,000.12

$number = Number::format(100000, locale: 'de');

// 100.000

Number::ordinal()

Метод Number::ordinal повертає порядкове представлення числа:

use Illuminate\Support\Number;

$number = Number::ordinal(1);

// 1st

$number = Number::ordinal(2);

// 2nd

$number = Number::ordinal(21);

// 21st

Number::pairs()

Метод Number::pairs генерує масив пар чисел (піддіапазонів) на основі вказаного діапазону і кроку. Це стає в пригоді, коли великий діапазон чисел треба розбити на менші, керовані піддіапазони, наприклад для пагінації чи пакетної обробки. Метод pairs повертає масив масивів, де кожен внутрішній масив представляє пару (піддіапазон) чисел:

use Illuminate\Support\Number;

$result = Number::pairs(25, 10);

// [[0, 9], [10, 19], [20, 25]]

$result = Number::pairs(25, 10, offset: 0);

// [[0, 10], [10, 20], [20, 25]]

Number::parse()

Метод Number::parse розбирає локалізований числовий рядок за допомогою PHP-класу NumberFormatter:

use Illuminate\Support\Number;

$result = Number::parse('10,123', locale: 'en');

// 10123.0

$result = Number::parse('10,123', locale: 'fr');

// 10.123

Number::parseInt()

Метод Number::parseInt розбирає рядок у ціле число відповідно до вказаної локалі:

use Illuminate\Support\Number;

$result = Number::parseInt('10.123');

// (int) 10

$result = Number::parseInt('10,123', locale: 'fr');

// (int) 10

Number::parseFloat()

Метод Number::parseFloat розбирає рядок у число з рухомою комою відповідно до вказаної локалі:

use Illuminate\Support\Number;

$result = Number::parseFloat('10');

// (float) 10.0

$result = Number::parseFloat('10', locale: 'fr');

// (float) 10.0

Number::percentage()

Метод Number::percentage повертає відсоткове представлення переданого значення у вигляді рядка:

use Illuminate\Support\Number;

$percentage = Number::percentage(10);

// 10%

$percentage = Number::percentage(10, precision: 2);

// 10.00%

$percentage = Number::percentage(10.123, maxPrecision: 2);

// 10.12%

$percentage = Number::percentage(10, precision: 2, locale: 'de');

// 10,00%

Number::spell()

Метод Number::spell перетворює передане число на рядок зі слів:

use Illuminate\Support\Number;

Неперекладеними лишилися підрозділи: Numbers (продовження Number::spell(), Number::spellOrdinal, Number::trim, Number::useLocale, Number::withLocale, Number::useCurrency, Number::withCurrency), Paths (app_path, base_path, config_path, database_path, lang_path, public_path, resource_path, storage_path), URLs (action, asset, route, secure_asset, secure_url, to_action, to_route, uri, url), Miscellaneous (abortwhen) та Other Utilities (Benchmarking, Dates and Time, Deferred Functions, Lottery, Pipeline, Sleep, Timebox, URI).

ЯК ЦЯ СТОРІНКА ВИГЛЯДАЄ В ПОШУКУ
phpukraine.com/docs/laravel/helpers
Хелпери | Документація Laravel українською
Хелпери у Laravel 13.x: переклад офіційної документації українською. Оновлено 13 вересня 2026. Приклади коду, пояснення та посилання на питання зі співбесід.
Стан перекладу

Перекладаємо з офіційної документації, розділ за розділом, і не ховаємо недоперекладене. Помітили неточність у терміні чи реченні: напишіть, виправимо.

90%
Готовності
10
У роботі
0
Ще не перекладено
Глосарій термінів