Новини високих технологій
» » Застосування функції explode PHP

Застосування функції explode PHP

23-10-2017, 18:32
662
Семантика розвитку мов програмування і сфери їх застосування швидко зайняли правильні позиції. Звичайно, математичні розрахунки траєкторій планет та рух курсів валют на ринках як і раніше хвилюють суспільство, але і там гідне місце займають рядки символів.
Істотний момент: від суворої типізації змінних до абсолютно вільного їх використання та автоматичного перетворення типів у міру необхідності шлях був набагато довше.

Все в світі є рядки

З цим можна сперечатися, але особливого сенсу немає, а в програмуванні - тим більше. Семантика explode PHP значно спростила роботу програміста: вона перенесла використання декількох функцій і конструкцій в одне ціле.


При цьому синтаксис і семантика самого PHP відносно даної функції надає можливість розробнику придумати власну семантику завдяки саме цієї функції, хоча і іншим строкових функцій знайдеться гідна робота. Немає нічого простіше: explode PHP просто розбиває один рядок по місцях входження в неї іншого рядка. Як правило, це одиночний символ: кома «,»; крапка «.»; коса риска «/»; тильда «~»; та все що завгодно за смаком розробника. Але розбивати рядок можна з чого завгодно, і другий рядок (delimiter) може мати сенс цілого тега, елемента тега або нести в собі будь-яке значення в межах уяви програміста.

Випадок, коли число є рядок

Числам властиво брати участь у математичних операціях, а рядками - в рядкових. Ідея правильна і цікава, але стара й марна. Сьогодні мінлива може змінювати тип по дорозі від одного оператора до іншого, і в кожної синтаксичної конструкції всі змінні, які беруть у ній участь, мають той тип, який визначає синтаксис цієї конструкції.


Так якщо число потрапляє в рядкову конструкцію, воно стає рядком, а якщо рядок бере участь у математичній операції, то всі її початок до першого входження нецифрового символу буде інтерпретовано як число.
У цьому коді explode в PHP демонструє, як можна легко відокремити цілу частину від дробової при будь-якій кількості цифр. Результат виконання наведеного коду представлений нижче.
Застосування функції explode PHP
Сумнівно, що такий сенс був вкладений в цю функцію творцями мови. Але варіантів такого саме застосування для цієї функції можна придумати безліч. Слід мати на увазі, що delimiter (рядок, по якій відбувається розбиття) зникає, тобто після розбиття рядка explode PHP витягує з неї всі знайдені delimiter.

Випадок, коли рядок є масив

У наведеному прикладі рядок цифр розбивається explode PHP з комою, і створюється масив. Зворотна функція implode PHP може цей масив злити в єдину рядок, наприклад, через точку.
У першому випадку рядок не змінюється, у другому випадку масив теж залишається. Інакше кажучи, використовуючи рядки, можна розбивати по одному основи, а з'єднувати по-іншому. У першому наближенні можна, наприклад, виконати заміну літер на великі. Таке завдання для explode/implode, напевно, буде не дуже цікавою, але важливий той момент, що розбиття може бути будь-яка! Як з'єднувати - це теж будь-який варіант.

Рядки та об'єкти

Об'єктно-орієнтоване програмування сьогодні всюди, а будь-яка програма складається з об'єктів. Природно, PHP explode опис ніколи не згадувало про об'єкти, але ніщо не заважає створити ідею про безпосередній зв'язок між рядками і об'єктами. У цьому контексті об'єкт можна представляти рядком символів, поміщаючи його в базу даних або передаючи по каналах зв'язку. Можна організувати обмін інформацією між об'єктами не через громіздкі масиви, а через рядка параметрів.
Відправник з'єднує в єдине ціле (рядок) потрібні дані, а одержувач допомогою explode PHP відновлює їх, тобто отримує потрібні послідовності символів. Якщо розвинути цю ідею на момент, коли об'єкт створюється, то зазвичай доводиться вручну або з бази даних, заповнювати його потрібними даними. Використовуючи explode, можна автоматизувати процес створення екземплярів об'єкта, причому маючи абстрактний об'єкт, можна управляти його типом, передаючи для ініціалізації різні рядки символів. Такий підхід зменшує кількість різних об'єктів і спрощує маніпулювання ними.
Цікаво по темі
Математика від JavaScript Math
Математика від JavaScript Math
Об'єкт Math мови jаvascript реалізує практичний набір математичних функцій. Складні розрахунки можна виконувати всередині браузера, не
Практика PHP: порівняння рядків
Практика PHP: порівняння рядків
Хороший алгоритм порівняння рядків має важливе значення. Хоча до обробки інформації в її природному вигляді мови програмування ще не прийшли,
JavaScript, масиви: опис
JavaScript, масиви: опис
jаvascript – сучасна мова програмування, він унікальний у частині синтаксису і семантики. Має специфіку...
Ефективне програмування на PHP: масиви в рядок
Ефективне програмування на PHP: масиви в рядок
PHP, як сучасна мова програмування, надає можливість обробляти дані, тип яких можна визначити в момент ...
Символи на PHP: рядок у число і назад
Символи на PHP: рядок у число і назад
PHP з'явився значно пізніше перших мов програмування, які почали будувати світ програм з позицій жорсткої формалізації, яку в даний час жодне з
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.