«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как найти второе или последующее появление строки в PHP с помощью strposX?

Как найти второе или последующее появление строки в PHP с помощью strposX?

Опубликовано 1 ноября 2024 г.
Просматривать:320

How to Find the Second or Subsequent Occurrence of a String in PHP Using strposX?

Нахождение второго вхождения строки с помощью strpos

Функция strpos в PHP — полезный инструмент для поиска положения первого вхождения подстроки внутри более крупной строки. Однако могут быть случаи, когда вам нужно найти второе или последующие вхождения.

Один из подходов к поиску второго вхождения — использовать цикл или рекурсию для перебора строки и подсчета количества раз, когда подстрока появляется. Однако для больших строк это может быть неэффективно и отнимает много времени.

Более эффективное решение — использовать функцию strposX, специальную функцию, разработанную специально для этой цели. Эта функция принимает три параметра: стог сена (строка, в которой вы ищете), иголку (подстроку, которую вы ищете) и число (вхождение, которое вас интересует).

The Функция strposX рекурсивно вызывает себя для поиска указанного вхождения. Если число равно 1, оно ведет себя как strpos и возвращает позицию первого вхождения. Если число больше 1, оно добавляет длину иглы к позиции предыдущего вхождения и продолжает поиск.

Вот упрощенная версия функции strposX:

function strposX($haystack, $needle, $number = 0) {
  return strpos($haystack, $needle,
    $number > 1 ?
    strposX($haystack, $needle, $number - 1)   strlen($needle) : 0
  );
}

Эта функция позволяет легко найти второе, третье или любое последующее вхождение подстроки, что делает ее ценным инструментом для задач манипулирования строками в PHP.

Заявление о выпуске Эта статья перепечатана по адресу: 1729233916. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3