#php #string #string-comparison #string-length
#php #строка #строка-сравнение #длина строки
Вопрос:
$string = '540';
if (strlen ($string >= 34)){
print_r((substr($string, 0, 30) . "..."));
} else {
print_r(($string));
}
Если $string
она длиннее 34 символов, к ней следует добавить «…», в противном случае следует просто напечатать строку.
Я думаю, что происходит то, что интерпретатор предполагает, что строка является числом, когда он выполняет сравнение.
У него также возникает тот же сбой, если я изменяю $string
на
$string = '540 rocks !'
Почему это?
Комментарии:
1. Что заставило вас подумать, что это
>
сравнивает количество цифр ???2. Кроме того, вам никогда не понадобятся двойные круглые скобки, поэтому измените свой
print_r(($string))
наprint_r($string)
.3. Виноват . . . Я спешил, не заметил скобки
Ответ №1:
Должно быть:
if (strlen($string) >= 34)) {
Не
if ($string >= 34)){
Ответ №2:
Если вы хотите проверить длину строки, просто измените эту строку:
if ($string >= 34)){
в это:
if (strlen($string) >= 34)){