settype
(PHP 4, PHP 5, PHP 7, PHP 8)
Set the type of a variable
Description
Set the type of variable var to type.
Parameters
varThe variable being converted.
typePossibles values of
typeare:- "boolean" or "bool"
- "integer" or "int"
- "float" or "double"
- "string"
- "array"
- "object"
- "null"
Return Values
Always
Errors/Exceptions
Throws a ValueError if the value of type is not a valid type, as of PHP 8.0.0. Prior to PHP 8.0.0, a E_WARNING was emitted and false was returned.
Throws a TypeError if var is a reference to a typed property and the converted value cannot be assigned to the declared type of that property under the active typing mode.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | Now throws a ValueError when an invalid type is passed to type. Previously, a E_WARNING was emitted and the function returned false. |
Examples
settype() example
<?php
$foo = "5bar"; // string
$bar = true; // boolean
settype($foo, "integer"); // $foo is now 5 (integer)
settype($bar, "string"); // $bar is now "1" (string)
var_dump($foo, $bar);
?>Notes
Maximum value for "int" is PHP_INT_MAX.
The converted value is assigned back to var, so the usual assignment rules apply. When var is a reference to a typed property and coercive typing is in effect, the converted value is coerced back to the declared type of the property when possible, so the type of the property does not change and settype() returns true. Otherwise a TypeError is thrown.