Перетворення недесяткових рядків за допомогою вдосконаленого методу toInteger() у Laravel

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Оновлений метод toInteger() класу Stringable у Laravel тепер приймає параметр основи, що значно спрощує перетворення рядкових значень із шістнадцяткової, двійкової та восьмеричної систем. Чи готові ви дізнатися, як ця функція може підвищити ефективність вашої роботи з числами у додатках Laravel? Читайте далі, щоб дізнатися більше про нові можливості маніпуляцій зі строками!

Laravel вдосконалив свій клас Stringable, додавши до методу toInteger() параметр бази. Це значно спростило обробку шістнадцяткових, двійкових та вісімкових рядків у ваших застосунках.

Розробникам часто потрібно перетворювати рядкові представлення чисел у різних системах числення. Раніше для цього доводилося виходити за рамки флюентних операцій Laravel і використовувати рідні функції PHP. Оновлений метод toInteger() дозволяє виконувати ці перетворення безперешкодно в рамках ланцюгів маніпуляцій зі рядками.

Ось приклад роботи методу:

// Перетворення шістнадцяткового рядка на ціле число
$value = Str::of('2F')->toInteger(16); // Повертає 47
// Перетворення двійкового рядка на ціле число
$value = Str::of('11001')->toInteger(2); // Повертає 25
// Перетворення вісімкового рядка на ціле число
$value = Str::of('644')->toInteger(8); // Повертає 420

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

// Раніше: вихід за межі флюентного ланцюга
$hexColor = '#3f8ac2';
$stringable = Str::of($hexColor)->after('#');
$colorValue = intval($stringable, 16);

// Тепер: підтримка флюентності
$colorValue = Str::of($hexColor)
    ->after('#')
    ->toInteger(16);

Цей метод легко інтегрується з іншими функціями маніпуляції рядками, що дозволяє виконувати складніші операції:

// Парсинг та перетворення шістнадцяткового значення з даних з датчика
$data = 'Sensor: reading=0x4B, status=0x03';

$reading = Str::of($data)
    ->between('reading=', ',')  // Витягує "0x4B"
    ->replaceFirst('0x', '')    // Видаляє префікс "0x"
    ->toInteger(16);            // Перетворює в десяткову (75)

Метод дотримується тих самих принципів, що й рідна функція intval() у PHP, і параметр бази підтримує значення від 2 до 36, що надає вам гнучкість при обробці чисел у різних системах, зберігаючи елегантний флюентний синтаксис Laravel

Популярні

Logomark Logotype

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

Logomark Logotype

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!