7 способов проверить последний символ строки в PHP

В PHP существует несколько методов проверки последнего символа строки. В этой статье вы познакомитесь с различными методами, используя повседневный язык и приведя примеры кода. К концу вы получите четкое представление о том, как выполнить эту задачу на PHP.

Метод 1: использование функции substr()
Функция substr() позволяет извлечь часть строки. Передав отрицательное значение в качестве второго параметра, вы можете получить последний символ строки.

Пример кода:

$string = "Hello, world!";
$lastCharacter = substr($string, -1);
echo $lastCharacter; // Output: !

Метод 2: использование функции mb_substr() для многобайтовых строк.
Если вы работаете с многобайтовыми строками, вместо этого вам следует использовать функцию mb_substr(). Он работает аналогично substr(), но корректно обрабатывает многобайтовые символы.

Пример кода:

$string = "こんにちは、世界!";
$lastCharacter = mb_substr($string, -1);
echo $lastCharacter; // Output: !

Метод 3: использование функции substr_compare()
Функция substr_compare() позволяет сравнивать подстроки внутри двух строк. Сравнивая последний символ строки с пустой строкой, вы можете определить, соответствует ли она.

Пример кода:

$string = "Hello, world!";
$lastCharacter = substr_compare($string, "", -1, 1) === 0;
echo $lastCharacter ? "Last character is empty." : "Last character is not empty."; // Output: Last character is not empty.

Метод 4. Использование функции mb_substr_compare() для многобайтовых строк
Для многобайтовых строк вы можете использовать функцию mb_substr_compare() для правильного сравнения подстрок.

Пример кода:

$string = "こんにちは、世界!";
$lastCharacter = mb_substr_compare($string, "", -1, 1) === 0;
echo $lastCharacter ? "Last character is empty." : "Last character is not empty."; // Output: Last character is not empty.

Метод 5: используя функцию mb_substr() с strlen()
Объединив функцию mb_substr() с strlen(), вы можете проверить, равна ли длина подстроки в конце строки 1, что указывает на один символ.

Пример кода:

$string = "Hello, world!";
$lastCharacter = mb_substr($string, -1);
echo strlen($lastCharacter) === 1 ? "Last character is a single character." : "Last character is not a single character."; // Output: Last character is a single character.

Метод 6: использование регулярных выражений с preg_match()
Регулярные выражения можно использовать для проверки соответствия последнего символа определенному шаблону. Функция preg_match() идеально подходит для этой задачи.

Пример кода:

$string = "Hello, world!";
$lastCharacter = substr($string, -1);
if (preg_match("/[a-zA-Z]/", $lastCharacter)) {
    echo "Last character is an English letter.";
} else {
    echo "Last character is not an English letter.";
}

Метод 7. Проверка значения ASCII последнего символа.
Вы можете определить значение ASCII последнего символа и сравнить его с диапазоном ASCII интересующих вас символов.

Пример кода:

$string = "Hello, world!";
$lastCharacter = substr($string, -1);
$asciiValue = ord($lastCharacter);
if ($asciiValue >= 65 && $asciiValue <= 90) {
    echo "Last character is an uppercase letter.";
} elseif ($asciiValue >= 97 && $asciiValue <= 122) {
    echo "Last character is a lowercase letter.";
} else {
    echo "Last character is not a letter.";
}

В этой статье мы рассмотрели семь различных методов проверки последнего символа строки в PHP. Мы рассмотрели такие функции, как substr(), mb_substr(), substr_compare(), mb_substr_compare(), strlen(), preg_match() и ord(). Теперь в вашем распоряжении множество методов для решения этой распространенной задачи в ваших проектах PHP.