Make the coercive mode and strict mode behavior of PHP accessible explicitly via functions: Includes coercions and is_coerceable checks that work like the implicit scalar type coercions in PHP, and an easy way to enforce a specific scalar type mimicking the behavior of strict mode in PHP.
composer require squirrelphp/scalar-types
All these functions have one mixed argument $value
and return true or false:
Returns true if $value
is one of the following:
- An integer
- A float without fractional part
- A numeric string without fractional part
- A boolean
For any other values it returns false.
Returns true if $value
is one of the following:
- An integer
- A float
- A numeric string
- A boolean
For any other values it returns false.
Returns true if $value
is one of the following:
- An integer with value 0 or 1
- A float with value 0 or 1
- An empty string
- A string with value '0' or '1'
- A boolean
For any other values it returns false.
Returns true if $value
is one of the following:
- An integer
- A float
- A string
- A boolean
- An object with the magic method __toString
For any other values it returns false.
All these functions have one mixed argument $value
and return the type they are coercing to, following the same logic as implicit type coercions in PHP.
Coerce a value like PHP 8.2 would do it, which can lead to a TypeError for non-scalar and non-numeric values and a deprecation notice for a float or numeric string with a fractional part.
Coerce a value like PHP 8.2 would do it, which can lead to a TypeError for non-scalar and non-numeric values.
Coerce a value like PHP 8.2 would do it, which can lead to a TypeError for non-scalar values and a deprecation notice for values other than "", "0", "1", 0, 1, 0.0 and 1.0.
Coerce a value like PHP 8.2 would do it, which can lead to a TypeError for non-scalar values except if it is an object that implements the magic __toString method.
All these functions have one mixed argument $value
and return the type they are enforcing, according to the same logic as strict mode in PHP.
Returns $value
as an integer if it is an integer. Throws a TypeError otherwise.
Returns $value
as a float if it is an integer or a float. Throws a TypeError otherwise.
Returns $value
as a boolean if it is a boolean. Throws a TypeError otherwise.
Returns $value
as a string if it is a string. Throws a TypeError otherwise.