在PHP中,stdClass对象可以进行类型转换,主要涉及到两种类型:数组和字符串。
- 将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 )
- 将stdClass对象转换为字符串:
你可以使用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 )