Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<serializestrval>
^Variable handling FunctionsLast updated: Mon, 26 Oct 2026

settype

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

settype — Set the type of a variable

Description

function 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 returns true.

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

Example #1 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

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


<serializestrval>
^Variable handling FunctionsLast updated: Mon, 26 Oct 2026