wireEmpty() function

Is the given value empty according to ProcessWire standards?

This works the same as PHP’s empty() function except for the following:

  • It returns true for Countable objects that have 0 items.
  • It considers whitespace-only strings to be empty.
  • It considers WireNull objects (like NullPage or any others) to be empty (3.0.149+).
  • It uses the string value of objects that can be typecast strings (3.0.150+).
  • You cannot pass it an undefined variable without triggering a PHP warning.

Available since version 3.0.143.

Example

// behavior with Countable objects
$a = new WireArray();
empty($a); // PHP’s function returns false
wireEmpty($a); // PW’s function returns true
$a->add('item');
wireEmpty($a); // returns false, since there is now an item

// behavior with whitespace-only string
$s = '  ';
empty($s); // PHP’s function returns false
wireEmpty($s); // PW’s function returns true

// behavior with undefined variable $v
isset($v); // returns false
empty($v); // returns true
wireEmpty($v); // returns true but with PHP’s warning triggered

Usage

$bool = wireEmpty(mixed $value);

Arguments

NameType(s)Description
valuemixed

Value to test if empty

Return value

bool


Functions methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #520
    In the 520th issue of ProcessWire Weekly we'll check out some of the latest additions to the ProcessWire module's directory, share some highlights from the latest weekly update from Ryan, and more. Read on!
    Weekly.pw / 27 April 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer