我有以下代码:
/**
* Gets a property from an object.
*
* @param mixed $obj
* @param string $property
* @param null|string $type Convert value to another type. Optional.
*
* @return mixed|null Returns the property value or null if it does not exist.
*/
public static function getProperty($obj, $property, $type = null)
{
if (!property_exists($obj, $property)) {
return null;
}
if ($type === null) {
return $obj->{$property};
}
// This does not work.. unfortunately
return ({$type})$obj->{$property};
}
但是我不知道如何使用$type
变量来键入最后的返回值。最后一个将包含“字符串”或“整数”之类的内容,因此我可以将属性转换为另一种类型。