Связь с администрацией сайта:       

demo

Среди толпы я одинок

Строковая функция PHP: strlen – возвращает длину строки

Функция strlenв PHP возвращает длину строки.
int strlen ( string $string )
string
Строка (string), для которой измеряется длина.
После вызова данной строковой функции, возвращается либо длина строки string(строка) , либо 0, если string(строка) пуста.
 
 
Примеры использования strlen в PHP:
Пример #1 Пример использования strlen()
$str = 'iamalone.ru';
        echo strlen($str)."<br />";
 Результат: 11
 
$str = ' iam alon e! .ru ';
echo strlen($str)."<br />";
 Результат: 17
 
Интересная информация о функции strlen в PHP:
- Функция strlen() возвратит количество байт, а не число символов в строке.
- Функция strlen() возвращает NULL при использовании на массивах, а также выводит ошибку уровня E_WARNING.
- Функция strlen PHP может использоваться для определения количества байтов в двоичной строке (например, двоичные данные, возвращаемые base64_decode).
- Самый простой способ определить количество символов в строке UTF8 – это сначала передать текст через utf8_decode ():
$length = strlen(utf8_decode($s)); 
Utf8_decode () преобразует символы, не входящие в ISO-8859-1, в '?', Что для целей подсчета вполне нормально.
- Для новичков PHP, которые играют со строками кодированных символов UTF8 или таких языков, как: арабский, персидский, пушту, дари, китайский (упрощенный), китайский (традиционный), японский, вьетнамский, урду, Македонский, литовский и т. Д. Как сказано в руководстве: «strlen () возвращает количество байтов, а не количество символов в строке.», Поэтому, если вы хотите получить количество символов в строке UTF8, используйте mb_strlen () вместо strlen ( ).
// Привет по арабски: 59 байт и  32 символа
$utf8 = "السلام علیکم ورحمة الله وبرکاته!";
 
var_export( strlen($utf8) ); // 59
echo "<br>";
var_export( mb_strlen($utf8, 'utf8') ); // 32
- Я хотел бы продемонстрировать, что вам нужно больше, чем просто эта функция, чтобы действительно проверить пустую строку. Причина в том, что strlen (null) Вернет 0. Итак, как узнать, было ли значение null или действительно пустая строка?
$foo = null;
$len = strlen(null);
$bar = '';
 
echo "Length: " . strlen($foo) . "<br>";
echo "Length: $len <br>";
echo "Length: " . strlen(null) . "<br>";
 
if (strlen($foo) === 0) echo 'Null length is Zero <br>';
if ($len === 0) echo 'Null length is still Zero <br>';
 
if (strlen($foo) == 0 && !is_null($foo)) echo '!is_null(): $foo is truly an empty string <br>';
else echo '!is_null(): $foo is probably null <br>';
 
if (strlen($foo) == 0 && isset($foo)) echo 'isset(): $foo is truly an empty string <br>';
else echo 'isset(): $foo is probably null <br>';
 
if (strlen($bar) == 0 && !is_null($bar)) echo '!is_null(): $bar is truly an empty string <br>';
else echo '!is_null(): $foo is probably null <br>';
 
if (strlen($bar) == 0 && isset($bar)) echo 'isset(): $bar is truly an empty string <br>';
else echo 'isset(): $foo is probably null <br>';
// Начало вывода:
Length: 0
Length: 0 
Length: 0

Null length is Zero 
Null length is still Zero 

!is_null(): $foo is probably null 
isset(): $foo is probably null 

!is_null(): $bar is truly an empty string 
isset(): $bar is truly an empty string 
//
Конец вывода
 
Таким образом, вы видите, что вам нужно либо is_null (), либо isset () в дополнение к strlen (), если это вам важно узнать, было ли исходное значение null.
 
 
Голосуй
(2 Голоса)
Оставьте комментарий

Поля, отмеченные звездочкой(*) обязательны для заполнения. HTML теги не приветствуются.

Вход на сайт