在PHP中,stdClass对象可以进行类型转换,主要涉及到两种类型:数组和字符串。
你可以使用get_object_vars()
函数将stdClass对象转换为数组。这个函数会返回一个包含对象所有属性及其值的关联数组。示例代码如下:
$obj = new stdClass();
$obj->name = "John";
$obj->age = 30;
// 将stdClass对象转换为数组
$array = get_object_vars($obj);
print_r($array);
输出结果:
Array
(
[name] => John
[age] => 30
)
你可以使用serialize()
函数将stdClass对象转换为字符串。这个函数会返回一个表示对象属性的字符串。示例代码如下:
$obj = new stdClass();
$obj->name = "John";
$obj->age = 30;
// 将stdClass对象转换为字符串
$string = serialize($obj);
echo $string;
输出结果:
O:7:"stdClass":2:{s:4:"name";s:4:"John";s:4:"age";i:30;}
需要注意的是,unserialize()
函数可以将字符串还原为stdClass对象。如果你需要将字符串转换回对象,可以使用unserialize()
函数。示例代码如下:
$string = 'O:7:"stdClass":2:{s:4:"name";s:4:"John";s:4:"age";i:30;}';
// 将字符串还原为stdClass对象
$obj = unserialize($string);
print_r($obj);
输出结果:
stdClass Object
(
[name] => John
[age] => 30
)