Как проверить строку на пустоту php
Перейти к содержимому

Как проверить строку на пустоту php

  • автор:

Как проверить строку на пустоту php

In this article, we will see how to check for empty string in PHP. String is a set of characters. A string is said to be empty, if it contains no characters. We can use empty() function to check whether a string is empty or not.

The function is used to check whether the string is empty or not. It will return true if the string is empty.

Syntax:

Parameter: Variable to check whether it is empty or not.

Return Value: If string is empty, it returns true and false otherwise.

Example 1: PHP program to check whether the string is empty or not.

PHP best way to check whether a string is empty or not

I’ve seen a lot of php code that does the following to check whether a string is valid by doing:

$str is a string variable.

I prefer to just do

Is there any thing that can go wrong with the second method? Are there any casting issues I should be aware of?

9 Answers 9

Since PHP will treat a string containing a zero (‘0’) as empty, it makes the empty() function an unsuitable solution.

Instead, test that the variable is explicitly not equal to an empty string:

As the OP and Gras Double and others have shown, the variable should also be checked for initialization to avoid a warning or error (depending on settings):

This results in the more acceptable:

PHP has a lot of bad conventions. I originally answered this (over 9 years ago) using the empty() function, as seen below. I’ve long since abandoned PHP, but since this answer attracts downvotes and comments every few years, I’ve updated it. Should the OP wish to change the accepted answer, please do so.

Original Answer:

You could also add trim() to eliminate whitespace if that is to be considered.

Edit:

Note that for a string like ‘ 0 ‘, this will return true, while strlen() will not.

How to test for empty strings in PHP

If you’re testing for an empty string in PHP you could be forgiven for using the empty() function. However, exercise caution as empty() may not do what you think it does.

PHP treats 0 and ’0′ as empty. Take the following:

The above will echo true even through $var is a string with a single character in. Empty space, however, is not considered empty.

The above will echo false. This can be a little confusing although it does treat null as empty—which is what you’d probably expect. Perhaps a better function would be:

isset() checks that the variable is set and not null. $var !== '' is used instead of $var != '' as the latter is essentially the same as calling empty() .

Tim Bennett is a freelance web designer from Leeds. He has a First Class Honours degree in Computing from Leeds Metropolitan University and currently runs his own one-man web design company, Texelate.

Как проверить строку на пустоту php

У нас будет несколько переменных, которые будут иметь разное значение ив том числе будут пустыми, не существовать, либо иметь внутри пробел.

Переменные для проверки на пустоту в php

Если — $primer не существует.

Если $primer =»Здесь есть текст»;

Перечислим все проверки, которые будут проходить переменные на пустоту в том числе :

Первым -> мы получим var_dump переменной, тип и значение — это самый надежный способ узнать, что же внутри перменной!

isset -> определяет, установлена ли переменная

empty -> Проверяет, пуста ли переменная

if($primer)-> если переменная, часто употребляемая проверка

if(trim($primer))-> тоже самое, что и предыдущий пункт, только добавим «trim»

if($primer == false)-> если переменная равна false по значению

if($primer === false)-> если переменная равна false по значению и по типу

if($primer == true)-> если переменная равна true по значению

if($primer === true)-> если переменная равна true по значению и по типу

Проверим переменную если она ничему не равна

В первом пункте, с жими проверками на пустоту, разложим все по пунктам и сделаем вывод, что это значит. Для остальных путов, приведем только результат!

Первая по списку, это переменная, которую можно назвать пустой. Которая равна «ничему».

Результаты проверок, на пустоту, если в переменной ничего нет

Проверка на пустоту переменной если она равна пробелу

Тест проверки переменной на пустоту, если в ней есть пробел

переменная не пустая empty

переменная не пустая is primer

переменная не пустая false

переменная не пустая false2

переменная не пустая true

Вывод из теста на проверку переменной с пробелом :

Только вариант 5 после проверки переменной на пустоту, говорит, что там действительно пустота!

А как же вариант 9 -> true по значению, но false по типу(т.е. там, на самом деле должно было быть написано, что переменная с пробелом это не true )

Проверить на пустоту, если переменная не существуют

Следующий тест проверки на пустоту -> если переменная не существует!

переменная не существует isset

переменная не пустая false2

Вывод теста проверки на пустоту отсутствующей переменной

Здесь, как говорится не нужно слов! Тест проверки на пустоту сработал как и ожидалось, кроме строки №7 -> этот пункт перекликается с поведением c true в предыдущем пункте(строка №9) -> зеркальная ситуация.

Проверим на пустоту переменную, если она существует!

И для нашего успокоения давайте проверим на пустоту, если в переменная не пустая -> пусть это будет текст:

string(30) «Здесь есть текст» var_dump

переменная не пустая empty

переменная не пустая is primer

переменная не пустая trim

переменная не пустая false

переменная не пустая false2

переменная не пустая true

Вывод о результатах проверки если переменная не пустая:

Можно было столько проверок не делать — но мне, самому было интересно. что возвратит каждая проверка.

Что же касается проверки на пустоту, то самое правильное на мой взгляд это вариант

if(trim($primer))<> В данном случае: Эту конструкцию можно прочитать — если переменная не пустая. то -> действие

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *