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

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

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

explode php

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

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

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

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

Немає нічого простіше: explode PHP просто розбиває один рядок по місцях входження в неї інший рядки. Як правило, це одиночний символ:

  • кома ",";
  • точка, крапка ".";
  • коса риска "/";
  • тильда "~";
  • і все що завгодно за смаком розробника.

Але розбивати рядок можна по чому завгодно, і другий рядок (delimiter) може мати сенс цілого тега, елемента тега або нести в собі будь-яке значення в межах уяви програміста.

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

Числах властиво брати участь в математичних операціях, а рядках - в малих. Ідея правильна і цікава, але стара і нікому не потрібна.

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

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

Авторський приклад - це не картинка

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

Авторський приклад - це не картинка

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

Слід мати на увазі, що delimiter (рядок, по якій відбувається розбиття) зникає, тобто після розбиття рядка explode PHP витягує з неї всі знайдені delimiter.

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

У наведеному прикладі рядок цифр розбивається explode PHP по коми, і створюється масив. Зворотна функція implode PHP може цей масив злити в єдину рядок, наприклад, через точку.

explode в php

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

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

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

Об'єктно-орієнтоване програмування сьогоднівсюди, а будь-яка програма складається з об'єктів. Природно, PHP explode опис ніколи не згадувало про об'єкти, але ніщо не заважає створити ідею про безпосередній зв'язок між рядками і об'єктами.

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

php explode опис

Відправник з'єднує в єдине ціле (рядок) потрібні дані, а одержувач за допомогою explode PHP відновлює їх, тобто витягує потрібні послідовності символів.

Якщо розвинути цю ідею на момент, коли об'єкт створюється, то зазвичай доводиться «вручну» або з бази даних заповнювати його потрібними даними.

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