Returns true
if $value
can be safely casted to string: is scalar or object with __toString
method or null
.
StringUtil::canBeString
method shortcut:
$array = ['string', 123, [], null];
array_filter($array, StringUtil::canBeString); // ['string', 123, null]
Casts value to string
if possible or returns null
.
StringUtil::toStringOrNull
method shortcut:
$a = ['string', 123, [], new stdClass()];
array_map(StringUtil::toStringOrNull, $a); // ['string', '123', null, null]
Casts value to string
if possible or throws InvalidTypeException
.
StringUtil::toString
method shortcut:
$a = ['string', 123, null];
array_map(StringUtil::toString, $a); // ['string', '123', '']
$b = ['string', new stdClass()];
array_map(StringUtil::toString, $b); // throws InvalidTypeException
Returns true if value can be safely casted to int|float
, which means that:
- it is number
- or numeric string
- or can be casted to numeric string
- or is a boolean that can be transformed to
0|1
- or is
null
NumberUtil::canBeNumber
method shortcut:
$array = [123, 1.23, '123', 'string', null];
array_filter($array, NumberUtil::canBeNumber); // [123, 1.23, '123', null]
Casts value to int
if possible or returns null
.
NumberUtil::toIntOrNull
method shortcut:
$a = [123, 1.23, 'string'];
array_map(NumberUtil::toIntOrNull, $a); // [123, 1, null]
Casts value to int
if possible or throws InvalidTypeException
.
Casts value to float
if possible or returns null
.
NumberUtil::toFloatOrNull
method shortcut:
$a = [123, 1.23, 'string'];
array_map(NumberUtil::toFloatOrNull, $a); // [123.0, 1.23, null]
Casts value to float
if possible or throws InvalidTypeException
.
Returns true if $value
is or can be converted to array
, which means it is iterable or null
.
ArrayUtil::canBeArray
method shortcut:
$array = [['array'], new ArrayObject(['object']), 'string'];
array_filter($array, ArrayUtil::canBeArray); // [['array'], new ArrayObject(['object'])]
Transforms $value
to array
(keeping keys) or returns null
.
ArrayUtil::toArrayOrNull
method shortcut:
$a = ['a' => ['array'], 'b' => 'string', 'c' => new ArrayObject(['object'])];
array_map(ArrayUtil::toArrayOrNull, $a); // ['a' => ['array'], 'b' => null, 'c' => ['object']]
$iterate = function() {
yield 9 => 'nine';
yield 9 => 'nine';
yield 9 => 'nine';
};
array_map(ArrayUtil::toArrayOrNull, $iterate()); // [9 => 'nine']
Transforms $value
to array-list
(reindex keys) or returns null
.
ArrayUtil::toArrayListOrNull
method shortcut:
$a = ['a' => ['array'], 'b' => 'string', 'c' => new ArrayObject(['object'])];
array_map(ArrayUtil::toArrayListOrNull, $a); // [['array'], null, ['object']]
$iterate = function() {
yield 9 => 'nine';
yield 9 => 'nine';
yield 9 => 'nine';
};
array_map(ArrayUtil::toArrayOrNull, $iterate()); // ['nine', 'nine', 'nine']
Transforms $value
to array
(keeping keys) or throws InvalidTypeException
.
Transforms $value
to array-list
(reindex keys) or throws InvalidTypeException
.
Same as standard is_countable
, additionally it allows to shortcut callable by ArrayUtil::isCountable
.
Returns count if $value
is countable or returns null
.
Returns true if $value
can be taken as boolean (true, false, 0, 1).
BooleanUtil::canBeBool
shortcut also available.
Casts value to bool
if possible or returns null
.
Casts value to bool
if possible or throws InvalidTypeException
.
Returns true
if $value
can be converted to DateTimeImmutable
,
which means it has DateTimeInterface
or is a string supported by strtotime
.
DateUtil::canBeDate
method shortcut:
$now = new DateTime('now');
$a = ['today', $now, 'never'];
array_filter($a, DateUtil::canBeDate); // ['today', $now]
Transforms value to DateTimeImmutable
if possible or returns null
.
Shortcut DateUtil::toDatetimeOrNull
also available.
Transforms value to DateTimeImmutable
if possible or throws InvalidTypeException
.
Shortcut DateUtil::toDatetime
also available.
Transforms $value
to given date format if $value
can be date or returns null
otherwise.
Transforms $value
to given date format if $value
can be date or throws InvalidTypeException
.
Transforms $value
to Unix timestamp if $value
can be date or returns null
otherwise.
Transforms $value
to Unix timestamp if $value
can be date or throws InvalidTypeException
.