PHP - 将变量强制类型转换

10
我在思考是否可以将一个字符串转换成之前定义的另一种类型。
例如:
$type = "int";
$foo = "5";
$bar = ($type) $foo;

并且当 $bar === 5 时

2个回答

22

是的,有一个内置函数可以实现这个功能:

$type = "int";
$foo = "5";
settype($foo, $type); // $foo is now the int 5

请注意,settype() 的返回值是操作的成功状态,而不是转换后的变量。感谢下面的@NRVM提供的信息。
文档:http://php.net/manual/en/function.settype.php

1
谢谢!正是我想要的。 - user4802601
然而,您可以将一个 string 转换为 boolean,因此这种方法并不是非常干净... 仍在寻找一种方法,如果转换失败,则返回正确的错误。 - Jackh4l

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接