Overview
ZPEExpressionQuery is the lazy result type produced by a
ZEQL expression. It cannot be constructed
directly with new.
Creating a query
Queries use the from,
in, where and
select keywords.
$doubled = from $number in [1, 2, 3] select $number * 2
Reference methods
-
to_list() ⇒ list - Enumerates the query into a new mutable list.
-
length() ⇒ number - Enumerates and counts the values without retaining a second result list.
-
first() ⇒ mixed -
Returns the first result, or
undefinedif the query is empty. -
to_string() ⇒ string - Enumerates the query and returns its list representation as a string.
Lazy evaluation
Expression queries are lazy. Declaring a query does not immediately enumerate
its source or calculate every result. Evaluation begins when a method such as
to_list(), length(),
first() or to_string() is called.
Use first() when only one result is required, since it avoids
processing the rest of the query.
Example
$adults = from $person in $people where $person->age >= 18 select $person->name print($adults->first())
Its implementation was made available in ZPE 1.14.9 (Spurriergate, September 2026).

There are no comments on this page.
Comments are welcome and encouraged, including disagreement and critique. However, this is not a space for abuse. Disagreement is welcome; personal attacks, harassment, or hate will be removed instantly. This site reflects personal opinions, not universal truths. If you can’t distinguish between the two, this probably isn’t the place for you. The system temporarily stores IP addresses and browser user agents for the purposes of spam prevention, moderation, and safeguarding. This data is automatically removed after fourteen days. Your email address is stored so that replies can be sent to your email address.
Comments powered by BalfComment