This filter will change the given input to be NULL if it meets specific criteria. This is often necessary when you work with databases and want to have a NULL value instead of a boolean or any other type.
The following options are supported for Zend\Filter\Null:
Per default this filter works like PHP‘s empty() method; in other words, if empty() returns a boolean TRUE, then a NULL value will be returned.
1 2 3 4 | $filter = new Zend\Filter\Null();
$value = '';
$result = $filter->filter($value);
// returns null instead of the empty string
|
This means that without providing any configuration, Zend\Filter\Null will accept all input types and return NULL in the same cases as empty().
Any other value will be returned as is, without any changes.
Sometimes it’s not enough to filter based on empty(). Therefor Zend\Filter\Null allows you to configure which type will be converted and which not.
The following types can be handled:
There are several ways to select which of the above types are filtered. You can give one or multiple types and add them, you can give an array, you can use constants, or you can give a textual string. See the following examples:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // converts false to null
$filter = new Zend\Filter\Null(Zend\Filter\Null::BOOLEAN);
// converts false and 0 to null
$filter = new Zend\Filter\Null(
Zend\Filter\Null::BOOLEAN + Zend\Filter\Null::INTEGER
);
// converts false and 0 to null
$filter = new Zend\Filter\Null( array(
Zend\Filter\Null::BOOLEAN,
Zend\Filter\Null::INTEGER
));
// converts false and 0 to null
$filter = new Zend\Filter\Null(array(
'boolean',
'integer',
));
|
You can also give a Traversable or an array to set the wished types. To set types afterwards use setType().
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.