|
|
|
| например у меня есть переменная $text = ""; как проверить, пуста она или нет и почему именно так нада проверять? | |
|
|
|
|
|
|
|
для: Gopneg_IT
(20.02.2015 в 16:17)
| |
<?
if(!trim($text )) echo"Empty";
|
| |
|
|
|
|
|
|
|
для: confirm
(20.02.2015 в 16:29)
| | почему не
if(empty($text)) echo 'Пусто';
|
| |
|
|
|
|
|
|
|
для: Valick
(20.02.2015 в 16:42)
| | С чего? А если все таки не empty и что-то есть? | |
|
|
|
|
|
|
|
для: Gopneg_IT
(20.02.2015 в 16:17)
| |
<?
// Удаляем пробелы по краям строки. Как правило, они не важны.
// Если важны, то эту строку удаляем.
$text = trim($text);
// Следует использовать сравнение с пустой строкой,
// так как строка может состоять из одного символа "0",
// и приведение к boolean и empty даст неверный результат
if ($text === '') {
echo 'Строка пуста.';
}
|
| |
|
|
|
|
|
|
|
для: Drago
(23.02.2015 в 17:48)
| | Оригинально, это по какой логике такое? Чем 0 хуже 1 или А в контексте строки? А уж если вы ожидаете тип integer, то и проверка должна быть соответственная. | |
|
|
|
|
|
|
|
для: confirm
(23.02.2015 в 18:33)
| | - | |
|
|
|
|
|
|
|
для: confirm
(23.02.2015 в 18:33)
| | >> Чем 0 хуже 1 или А в контексте строки?
В том то и дело, что ничем. Тем не менее, для вас "0" это пустая строка.
>> А уж если вы ожидаете тип integer, то и проверка должна быть соответственная.
Я ожидаю тип string и не хочу, чтобы какие-то строки потерялись из-за неправильной обработки.
Простой пример, диалог:
Вася: Вопрос на миллион рублей. Сколько будет 1-1?
Петя: 0
Вася: Я не получил ваше сообщения, так как мой скрипт считает, что "0" это пустая строка.
|
Довольно обидно, согласитесь. | |
|
|
|
|
|
|
|
для: Drago
(24.02.2015 в 09:41)
| | А вон как, ну если такие строки то да, но и в этом случае можно писать короче:
<?
echo ~trim($s) ? 1 : 0;
|
| |
|
|
|
|
|
|
|
для: confirm
(24.02.2015 в 17:01)
| | Нет никаких "таких" строк. Есть просто строка. И она, либо пуста, либо нет.
Инвертировать биты не лучший выход. Это работает в обе стороны.
Как вы думаете, что получится в вашем примере, если: ? | |
|
|
|
|
|
|
|
для: Drago
(24.02.2015 в 17:36)
| | Согласен, если частная проверка то да. | |
|
|
|
|
|
|
|
для: Drago
(24.02.2015 в 17:36)
| | А если длину строки проверить? | |
|
|
|
|
|
|
|
для: Yuriev
(25.02.2015 в 11:19)
| | а чем это лучше проверки на пустую строку? зачем лишние телодвижения? | |
|
|
|
|
|
|
|
для: psychomc
(25.02.2015 в 11:31)
| | Истину ищем или зарядкой занимаемся? | |
|
|
|
|
|
|
|
для: Yuriev
(25.02.2015 в 19:06)
| | Так вроде истину давно уже нашли, или для вас всё еще это не очевидно? | |
|
|
|
|
|
|
|
для: psychomc
(25.02.2015 в 19:39)
| | в чом правда брат? | |
|
|
|
|
|
|
|
для: Gopneg_IT
(26.02.2015 в 13:23)
| | в том, что если мы очень крутые погромисты, то нам, чтобы убедиться, что строка пуста, не достаточно просто её сравнить с пустой строкой, а нужно еще например посчитать количество символов или сделать еще что-нибудь ненужное. вдруг пригодится
а так, уже ж написали: если строка, состоящая из пробела, считается пустой, то делайте trim и сравнивайте результат с пустой строкой, если нет, то просто сравнивайте с пустой строкой. получается так | |
|
|
|
|
|
|
|
для: psychomc
(26.02.2015 в 16:18)
| | ясно | |
|
|
|