对于存放在数据库中的复杂数据结构,如在问题中给出的序列化字符串,我们需要将其转换为可操作的格式进行处理。
在php中,我们可以使用 unserialize() 函数来将序列化数据反序列化为数组或对象。以下是如何使用 unserialize() 解析 mysql 数据中的复杂数据:
$str = 'a:2:{s:6:"action";s:17:"portal/page/index";s:5:"param";a:1:{s:2:"id";s:3:"374";}}'; $arr = unserialize($str); print_r($arr);
结果:
array ( [action] => portal/page/index [param] => array ( [id] => 374 ) )
通过反序列化,我们成功将复杂的数据结构转换成了一个可操作的数组。我们可以通过数组键获取对应的值,例如:
echo $arr['action']; // Portal/Page/index echo $arr['param']['id']; // 374