php проверяет, равна ли длина переменной значению - PullRequest
5 голосов
/ 17 июля 2009

Необходимо проверить, если длина $ message равна 7 символам или меньше, если да, выполнить действие A, если нет, выполнить действие B. Является ли этот синтаксис правильным? Я думаю, что я делаю что-то не так?

<?php

if (strlen($message) <= 7) {
    echo $actiona;
} else {
    echo $actionb;
}

?>

Ответы [ 5 ]

17 голосов
/ 17 июля 2009

Всё хорошо. Например, давайте запустим следующее:

<?php

$message = "Hello there!";

if (strlen($message) <= 7){
    echo "It is less than or equal to 7 characters.";
} 
else 
{
    echo "It is greater than 7 characters.";
}
?>

Будет напечатано: «Это больше, чем 7 символов.»

2 голосов
/ 17 июля 2009

Возможно, вы захотите использовать сокращение PHP, если / еще используете троичные операторы (?:).

Например, вместо:

<?php

if (strlen($message) <= 7) {
    echo $actiona;
} else {
    echo $actionb;
}

?>

Вы можете написать это как:

<?php echo strlen($message) <= 7 ? $actiona : $actionb; ?>

См. Как использовать сокращение if / else? для получения информации о троичном операторе.

1 голос
/ 17 июля 2009

Все нормально.

Но вы должны использовать длинные теги php (короткие теги могут быть отключены; и довольно часто):

<?php
// ... PHP code
?>

(закрывающий тег необязателен, если ваш файл содержит только PHP)

1 голос
/ 17 июля 2009

Какие сообщения об ошибках вы получаете?

Я бы проверил, что когда вы устанавливаете $message перед рукой, вы не ошиблись или не использовали неверную прописную букву (учитывая, что php чувствителен к cAsE).

0 голосов
/ 13 февраля 2019

я нашел этот ISSET "трюк" вокруг www, я не помню где. попробуйте сначала запустить скрипт следующим образом, затем раскомментируйте вторую строку $ message = .., чтобы записать в строку другой длины

<?php
$actiona="ACTIONA";
$actionb="ACTIONB";

$message="1234567";
//$message="12345678";//try to comment /uncomment these

if (!isset($message{7})) {
    echo $actiona;
} else {
    echo $actionb;
}
?>

И УВЕРЕН

<?php
$actiona="ACTIONA";
$actionb="ACTIONB";

$message="1234567";//try to comment /uncomment these
//$message="12345678";


echo !isset($message{7}) ? $actiona : $actionb; 


?>

Удачи! Мы все любим Php !!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...