Tests
The following tests (opens new window) are available to Twig templates in Craft:
Test | Description |
---|---|
array | Whether a variable is an array. |
boolean | Whether a variable is a boolean value. |
callable | Whether a variable is callable. |
constant (opens new window) | Whether a variable is the same as a PHP constant value. |
countable | Whether a variable is a countable value. |
defined (opens new window) | Whether a variable is defined. |
divisible by (opens new window) | Whether a number is divisible by another number. |
empty (opens new window) | Whether a variable is empty. |
even (opens new window) | Whether a number is even. |
float | Whether a variable is a float value. |
instance of | Whether an object is an instance of a namespace or parent class. |
integer | Whether a variable is an integer value. |
iterable (opens new window) | Whether a variable is an array or a traversable object. |
missing | Whether an object is missing its expected class. |
null (opens new window) | Whether a variable is null . |
numeric | Whether a variable is numeric. |
object | Whether a variable is an object. |
odd (opens new window) | Whether a number is odd. |
resource | Whether a variable is a resource. |
same as (opens new window) | Whether a variable is the same as another. |
scalar | Whether a variable is a scalar. |
string | Whether a variable is a string value. |
# array
Returns whether an object is an array via PHP’s is_array()
(opens new window) method.
{{ ['oh', 'hello', 'there'] is array ? 'true' : 'false' }}
{# result: true #}
{{ 'oh hai' is array ? 'true' : 'false' }}
{# result: false #}
# boolean
Returns whether an object is a boolean via PHP’s is_bool()
(opens new window) method.
{% if myVar is boolean %}
{{ myVar ? 'true' : 'false' }}
{% endif %}
# callable
Returns whether an object is callable via PHP’s is_callable()
(opens new window) method.
{{ [entry, 'getStatus'] is callable ? 'true' : 'false' }}
{# result: true #}
# countable
Returns whether an object is a countable value via PHP’s is_countable()
(opens new window) method.
is_countable()
was added in PHP 7.3.0, so for versions less than 7.3 this returns true
if the object is an array or instance of Countable (opens new window).
{{ craft.entries() is countable ? 'true' : 'false' }}
{# result: true #}
{{ ['apple', 'orange'] is countable ? 'true' : 'false' }}
{# result: true #}
{{ 'dracula' is countable ? 'true' : 'false' }}
{# result: false #}
# float
Returns whether an object is a float via PHP’s is_float()
(opens new window) method.
{{ 10.5 is float ? 'true' : 'false' }}
{# result: true #}
{{ 9 is float ? 'true' : 'false' }}
{# result: false #}
{{ 'duck' is float ? 'true' : 'false' }}
{# result: false #}
# instance of
Returns whether an object is an instance of another object or class.
{% if element is instance of('craft\\elements\\Entry') %}
<h1>{{ entry.title }}</h1>
{% endif %}
# integer
Returns whether an object is an integer via PHP’s is_int()
(opens new window) method.
{{ 23 is integer ? 'true' : 'false' }}
{# result: true #}
{{ '23' is integer ? 'true' : 'false' }}
{# result: false #}
# missing
Returns whether a given object is an instance of craft\base\MissingComponentInterface (opens new window), an interface used to represent components whose types are missing.
{% if field is missing %}
<p>😱</p>
{% endif %}
# numeric
Returns whether an object is numeric via PHP’s is_numeric()
(opens new window) method.
{{ 23 is numeric ? 'true' : 'false' }}
{# result: true #}
{{ '23' is numeric ? 'true' : 'false' }}
{# result: true #}
{{ 'twenty-three' is numeric ? 'true' : 'false' }}
{# result: false #}
# object
Returns whether a given object satisfies PHP’s is_object()
(opens new window) method.
{{ entry is object ? 'true' : 'false' }}
{# result: true #}
{{ entry.url is object ? 'true' : 'false' }}
{# result: false #}
# resource
Returns whether an object is a resource via PHP’s is_resource()
(opens new window) method.
{{ asset.getStream() is resource ? 'true' : 'false' }}
{# result: true #}
{{ siteUrl is resource ? 'true' : 'false' }}
{# result: false #}
# scalar
Returns whether an object is a scalar via PHP’s is_scalar()
(opens new window) method.
{{ 'hai' is scalar ? 'true' : 'false' }}
{# result: true #}
{{ 23 is scalar ? 'true' : 'false' }}
{# result: true #}
{{ [23, 'hai'] is scalar ? 'true' : 'false' }}
{# result: false #}
# string
Returns whether an object is a string via PHP’s is_string()
(opens new window) method.
{{ '23' is string ? 'true' : 'false' }}
{# result: true #}
{{ 23 is string ? 'true' : 'false' }}
{# result: false #}