php8.5
Home/ Manual/ var / functions/ settype

settype

PHP function Edit on GitHub ✎

(PHP 4, PHP 5, PHP 7, PHP 8)

Set the type of a variable

Description

settype(mixed $var, string $type): bool

Set the type of variable var to type.

Parameters

var

The variable being converted.

type

Possibles values of type are:

  • "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

VersionDescription
8.0.0Now 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
<?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

Note

Maximum value for "int" is PHP_INT_MAX.

Note

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.

See Also

Source: reference/var/functions/settype.xml · from the official PHP manual (php/doc-en)