Освоение манипуляций со строками в PHP: раскрытие возможностей str_contains и его предшественника strpos

В мире PHP манипулирование строками — обычная задача, с которой сталкиваются разработчики. Ищете ли вы конкретную подстроку или проверяете, содержит ли строка другую строку, хорошее понимание доступных методов может значительно повысить эффективность вашего кодирования. В этой статье мы рассмотрим две основные функции для проверки содержания строк: str_contains и ее предшественницу strpos. Итак, давайте углубимся и раскроем секреты этих мощных функций PHP!

Что такое strpos:

До появления str_contains в PHP 8 разработчики в основном полагались на функцию strpos для определения наличия подстроки в строке. strpos возвращает позицию первого вхождения подстроки или false, если подстрока не найдена. Он принимает два параметра: строку для поиска и подстроку, которую нужно найти.

Вот пример, демонстрирующий использование strpos:

$string = "Hello, World!";
$substring = "World";
if (strpos($string, $substring) !== false) {
    echo "The string contains the substring.";
} else {
    echo "The string does not contain the substring.";
}

В этом примере strpos используется для проверки наличия подстроки «World» внутри строки «Hello, World!». Если подстрока найдена, появится сообщение «Строка содержит подстроку». отображается; в противном случае: «Строка не содержит подстроки». отображается.

Представляем str_contains:

С выпуском PHP 8 появилась новая, более интуитивно понятная функция str_contains. Как следует из названия, str_contains напрямую проверяет, содержит ли строка другую строку, и возвращает логическое значение (истина или ложь). Он также принимает два параметра: строку для поиска и подстроку, которую нужно найти.

Вот пример, демонстрирующий использование str_contains:

$string = "Hello, World!";
$substring = "World";
if (str_contains($string, $substring)) {
    echo "The string contains the substring.";
} else {
    echo "The string does not contain the substring.";
}

В этом примере str_contains используется для определения наличия подстроки «World» внутри строки «Hello, World!». В зависимости от результата отображается соответствующее сообщение.

Дополнительные методы хранения строк:

Помимо strpos и str_contains, есть еще несколько методов, которые стоит упомянуть для проверки содержания строк. Давайте взглянем на пару из них:

  1. preg_match: эта функция в основном используется для сопоставления шаблонов с использованием регулярных выражений, но ее также можно использовать для определения того, содержит ли строка определенную подстроку. Вот пример:
$string = "Hello, World!";
$pattern = "/World/";
if (preg_match($pattern, $string)) {
    echo "The string contains the substring.";
} else {
    echo "The string does not contain the substring.";
}
  1. strstr: эта функция возвращает часть строки, начиная с первого вхождения указанной подстроки. Его можно использовать для проверки наличия подстроки в строке путем сравнения результата с исходной строкой. Вот пример:
$string = "Hello, World!";
$substring = "World";
if (strstr($string, $substring)) {
    echo "The string contains the substring.";
} else {
    echo "The string does not contain the substring.";
}

В этой статье мы рассмотрели две фундаментальные функции для проверки содержания строк в PHP: strpos и str_contains. Хотя strpos был основным методом в старых версиях PHP, str_contains предлагает более простой и интуитивно понятный подход в PHP 8 и более поздних версиях. Кроме того, мы кратко обсудили preg_match и strstr как альтернативные методы проверки содержания строк. Освоив эти методы, вы получите прочную основу для эффективного управления строками в PHP.