✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Розділення рядків і цілих чисел у PHP

9

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

Однак бувають випадки, коли з’ясувати, як розділити за певними критеріями, може бути не відразу зрозуміло, або може бути зрозуміло, що вам потрібно зробити, але не зрозуміло, як це зробити найкраще.

Фото Agê Barros на Unsplash

Наприклад, припустімо, що у вас є рядок, який містить як числа, так і цифри. Для цієї публікації припустимо, що даний рядок:

  • включає години та хвилини,
  • коли хвилини 60,
  • рядок має збільшити значення годин на одиницю
  • значення хвилин скидається на нуль.

Приклад проблемного рядка може мати форму T3H60M. Як тоді ми можемо розбити рядок на рядки та цілі числа та правильно його перебудувати?

У цьому випадку є три речі, які я вважаю корисними. Без особливого порядку:

І порядок, у якому операції використання кожного з перерахованих вище виглядають приблизно так:

  1. використовувати регулярний вираз, щоб знайти всі цифри в рядку,
  2. видалити все, крім цифр у масиві
  3. якщо друга цифра 60, то встановіть її рівною нулю
  4. збільшити перший індекс масиву на одиницю
  5. перебудувати рядок.

Якби наведені вище дії були перетворені в код, це могло б виглядати так:

Зауважте, що я вирішив використати array_filter для видалення дублікатів значень і використовувати array_values ​​для очищення масиву лише на два записи, перша з яких є годиною, а друга – хвилиною.

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

Нарешті, я створюю рядок, як (і якщо) потрібно.

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

Джерело запису: tommcfarlin.com

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