我在思考是否可以将一个字符串转换成之前定义的另一种类型。
例如:
例如:
$type = "int";
$foo = "5";
$bar = ($type) $foo;
并且当 $bar === 5 时
是的,有一个内置函数可以实现这个功能:
$type = "int";
$foo = "5";
settype($foo, $type); // $foo is now the int 5
settype()
的返回值是操作的成功状态,而不是转换后的变量。感谢下面的@NRVM提供的信息。<?php
$type = "int";
$foo = "5";
$bar = settype($foo, $type);
var_dump($foo);
// bool(true)
// $bar = 1
settype($foo, $type);
var_dump($foo);
// int(5)
string
转换为boolean
,因此这种方法并不是非常干净... 仍在寻找一种方法,如果转换失败,则返回正确的错误。 - Jackh4l