Проверить пустая ли строка php

empty

Определите, считается ли переменная пустой. Переменная считается пустой, если она не существует или если ее значение равно false . empty () не генерирует предупреждение, если переменная не существует.

Parameters

Предупреждение не генерируется, если переменная не существует. Это означает, что empty () по сути является кратким эквивалентом ! Isset ($ var) || $ var == false .

Return Values

Возвращает true , если var не существует или имеет пустое или равное нулю значение, иначе falsey, см. преобразование в boolean . В противном случае возвращает false .

Examples

Пример №1 Простое сравнение empty () / isset () .

 $var = 0; // Evaluates to true because $var is empty if (empty($var)) < echo '$var is either 0, empty, or not set at all'; > // Evaluates as true because $var is set if (isset($var)) < echo '$var is set even though it is empty'; > ?>

Пример # 2 empty () для смещений строк

 $expected_array_got_string = 'somestring'; var_dump(empty($expected_array_got_string['some_key'])); var_dump(empty($expected_array_got_string[0])); var_dump(empty($expected_array_got_string['0'])); var_dump(empty($expected_array_got_string[0.5])); var_dump(empty($expected_array_got_string['0.5'])); var_dump(empty($expected_array_got_string['0 Mostel'])); ?>

Выводится приведенный выше пример:

bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)

Notes

Примечание . Поскольку это языковая конструкция, а не функция, ее нельзя вызывать с помощью переменных функций или именованных аргументов .

Note:

При использовании empty () для недоступных свойств объекта будет вызван метод перегрузки __isset () , если он объявлен.

See Also

  • isset () — определяет, объявлена ​​ли переменная и отличается от нуля
  • __isset()
  • unset () — Сбросить заданную переменную
  • array_key_exists () — Проверяет, существует ли данный ключ или индекс в массиве
  • count () — подсчитывает все элементы в массиве или в объекте Countable
  • strlen () — получает длину строки
  • Типовые сравнительные таблицы
PHP 8.2

(PECL eio 0.0.1dev)eio_write to file eio_write()записывает до длины байта из строки со смещением в начало файла.

(PHP 5 5.3.0,7,8,PECL enchant 0.1.0)enchant_broker_describe Enumerates Enumerates Enumerates Enchant providers and tells you some rudimentary

Источник

How to check whether a String is empty in PHP

As a developer, you may get to a point where you are not sure if a string has a value or is empty. This can happen especially when the value of the string is dynamic and user-generated.

An empty string has a blank value in between the quotes (for quoted strings) or in between the opening and closing delimiter identifiers (for heredoc or nowdoc strings).

In this article, I will take you through the different methods of checking whether a string is empty or not.

Examples of empty strings:

How to check if a string is empty in PHP

1. Using the empty() function

This is the simplest and the most straightforward way. The empty() is an inbuilt PHP function that checks whether a variable is empty or not.

Syntax

The variable is a mandatory parameter that specifies which string variable to check.

The function returns FALSE if the variable exists and is not empty or TRUE if otherwise.

Example 1

Example 2

2. Using the strlen() function

The strlen() function returns the length of a string.

Syntax

The string is a mandatory parameter that specifies the string in which to check the length.

The function returns the length of a string (in bytes) on success, and 0 if the string is empty. Therefore, to determine if a string is empty or not, we just check its length and compare it with 0. If it is greater than 0 then the string is not empty. Else, we consider it empty.

Example 1

Example 2

3. Comparing it with an empty string

An empty string is equivalent to empty quotes, ie » or «» .

We just compare our string variable with empty quotes using the identical === operator. If the string is identical to the value of empty quotes, we conclude it’s empty. If else, then we know it is not empty.

Example 1

Example 2

That’s all for this article.

That is how you check if a string is empty or not in PHP.

  • Creating and working with Strings in PHP
  • How to make multi-line Strings in PHP
  • How to convert a string into a number using PHP
  • How to remove all spaces from a String in PHP
  • How to remove special characters from a String in PHP
  • How to do String to Array conversion in PHP
  • How to do Array to String conversion in PHP
  • How to check if a string contains a certain word/text in PHP
  • How to replace occurrences of a word or phrase in PHP string
  • Regex to remove an HTML tag and its content from PHP string
  • Variables, arrays and objects interpolation in PHP strings
  • How to insert a dash after every nth character in PHP string
  • How to change case in PHP strings to upper, lower, sentence, etc
  • Counting the number of characters or words in a PHP string

Источник

empty

Проверяет, считается ли переменная пустой. Переменная считается пустой, если она не существует или её значение равно FALSE . empty() не генерирует предупреждение если переменная не существует.

Список параметров

Замечание:

До PHP 5.5 empty() проверяет только переменные, и попытка проверить что-то еще вызовет ошибку синтаксиса. Другими словами, следующий код не будет работать: empty(trim($name)). Используйте вместо него trim($name) == false.

Если переменная не существует, предупреждение не генерируется. Это значит, что empty() фактически является точным эквивалентом конструкции !isset($var) || $var == false

Возвращаемые значения

Возвращает FALSE , если var существует, и содержит непустое и ненулевое значение. В противном случае возвращает TRUE .

  • «» (пустая строка)
  • 0 (целое число)
  • 0.0 (дробное число)
  • «0» (строка)
  • NULL
  • FALSE
  • array() (пустой массив)
  • $var; (переменная объявлена, но не имеет значения)

Список изменений

empty() теперь поддерживает выражения, а не только переменные.

Проверка нечислового индекса строки возвращает TRUE .

Примеры

Пример #1 Простое сравнение empty() и isset() .

// Принимает значение true, потому что $var пусто
if (empty( $var )) echo ‘$var или 0, или пусто, или вообще не определена’ ;
>

// Принимает значение true, потому что $var определена
if (isset( $var )) echo ‘$var определена, даже если она пустая’ ;
>
?>

Пример #2 empty() и строковые индексы

В PHP 5.4 был изменен способ обработки строковых индексов в empty() .

$expected_array_got_string = ‘somestring’ ;
var_dump (empty( $expected_array_got_string [ ‘some_key’ ]));
var_dump (empty( $expected_array_got_string [ 0 ]));
var_dump (empty( $expected_array_got_string [ ‘0’ ]));
var_dump (empty( $expected_array_got_string [ 0.5 ]));
var_dump (empty( $expected_array_got_string [ ‘0.5’ ]));
var_dump (empty( $expected_array_got_string [ ‘0 Mostel’ ]));
?>

Результат выполнения данного примера в PHP 5.3:

bool(false) bool(false) bool(false) bool(false) bool(false) bool(false)

Результат выполнения данного примера в PHP 5.4:

bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций.

Замечание:

При использовании функции empty() на недоступных (необъявленных) свойствах объекта будет вызван встроенный метод объекта __isset(), если он определен.

Смотрите также

  • isset() — Определяет, была ли установлена переменная значением отличным от NULL
  • __isset()
  • unset() — Удаляет переменную
  • array_key_exists() — Проверяет, присутствует ли в массиве указанный ключ или индекс
  • count() — Подсчитывает количество элементов массива или что-то в объекте
  • strlen() — Возвращает длину строки
  • Таблица сравнения типов

Источник

Как правильней проверить содержимое строки?

Тривиальная задача: если строка не пустая, вывести её через echo.

Первоначально переменная объявляется как $str = »;

Вопрос — как правильней проверять на пустоту? В смысле, чтобы PHP не совершал лишних движений.

(уверен, есть множество других)

Audiophile

ну если вы уверенны, что переменная объявлена так как вы написали, то можно проверить просто:
if ($str != »)

Audiophile

Посторонним В.: есть теоретически небольшой шанс, что strlen будет быстрее, чем сравнение. Но это нужно проверять экспериментом.

rework: А есть уверенность, что оператор != не использует вызов strlen для осуществления сравнения?
Но по поводу спичек согласен

Audiophile

rework: да, если судить по логике, вариант if ($str !== ») — наиболее логичный. Так как сработает и при необъявленной переменной, и вообще в любом случае отличном от простого объявления пустой строки. Спасибо.

FanatPHP

Audiophile

rework: мне это и нужно. Чтобы в случае отклонения от условия либо выводилась строка, либо (если ошибку допустил я в коде, т. е. не то имя переменной вписал например) выводилась ошибка скрипта.

Сложность strlen($str) — O(1). А вот !== » это уже доп. операция приведения типов переменных.

Так что я бы поставил на strlen($str) > 0 .

FanatPHP

Андрей Попов: сложность обеих операций одинаковая — нулевая. не надо тут выковыривать из носа теоретические изыскания о скорости микроскопических процессов, которых на обработку одного НТТР запроса уходит миллион

FanatPHP: действительно, лучше об архитектуре приложения задуматься, об оптимизации запросов, кэшировании, чем ерундой заниматься.

FanatPHP: я отвечал скорее rework «тем, что не высчитывается длинна строки.» Это не верно. Т.к. она НЕ высчитывается.

А про «не надо тут выковыривать из носа теоретические изыскания о скорости микроскопических процессов, которых на обработку одного НТТР запроса уходит миллион»

Как я вижу и понял, вопрос не практический а теоретический. На практике все, рано или поздно, приходят к шаблонизаторам, ORM, фрейморкам и прочим ускоряющим скорость разработки в ущерб производительности инструментам.

Вы же сами явно написали — «если строка не пустая«, может тогда стоит применить функцию именно для этого случая?
т.е. empty(); — из названия же ясно для чего предназначена эта функция

Audiophile

Наоборот !empty вернёт false, для несуществующих переменных. Просто в php зачастую переменные не объявляются заранее и надёжнее проверять именно через !empty, что бы не получить notice ошибку.

FanatPHP

FanatPHP

документация. я понимаю, что она невнятно написана, но в принципе, если читать внимательно, то логику уловить можно.

FanatPHP

FanatPHP: «содержимое СТРОКИ» — если уклон делать именно на строку, то да, не самый лучший выбор, т.к. empty выдаст true для null и т.д.

FanatPHP

если на пустоту — то тоже не лучший выбор. потому что тогда возникает вопрос, почему не if($var) Короче, аффтар выше уже все написал

FanatPHP

верно. empty проверяет, пуста ли переменная И существует ли она. то есть, это короткая запись if (isset($var) && $var). в то время как проверка на пустоту — это просто if ($var)

FanatPHP

Вообще, в данной постановке задача не имеет смысла.
Если строка пустая, то нет проблемы и вывести её — ничего от этого не изменится и не поломается.

Но если говорить не о выводе, а о проверке на «пустоту» (в терминах РНР), то
if ($str)
или
if (trim($str))
если мы не хотим обрабатывать строку, состоящую из пробельных символов.

Однако следует помнить, что ноль в РНР входит в понятие пустоты. поэтому, если мы хотим проверить равна ли переменная пустой строке, то именно эту проверку и надо делать,
if ($str !== »)

Отдельно хочу отметить заботу о совершающем лишние движения РНР. Людей, которые проявляют эту заботу, на нормальных ресурсах молча банят. Жаль что тостер — не нормальный ресурс.

Источник

Читайте также:  Translate google with php
Оцените статью