Unserialize()不适用于特定数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unserialize()不适用于特定数据相关的知识,希望对你有一定的参考价值。

此代码仅给出'a'的结果,但我希望它返回'touseef':

$serialized_data = 's:170:"a:5:{s:4:"name";s:7:"touseef";s:5:"email";s:21:"touseef1819@yahoo.com";s:7:"contact";s:11:"03425001819";s:4:"city";s:9:"islamabad";s:10:"studylevel";s:12:"Intermediate";}";';
echo $objh = unserialize($serialized_data) ;
echo $name=$objh['name'];
答案

出于某种原因,您的数据已被serialize两次,并且您需要调用两次unserialize才能撤消该操作:

$objh = unserialize(unserialize($serialized_data));
print_r($objh);
echo $name=$objh['name'];

输出:

Array
(
    [name] => touseef
    [email] => touseef1819@yahoo.com
    [contact] => 03425001819
    [city] => islamabad
    [studylevel] => Intermediate
)
touseef

Demo on 3v4l.org

以上是关于Unserialize()不适用于特定数据的主要内容,如果未能解决你的问题,请参考以下文章

Facebook状态回调不适用于片段

php 常量()不适用于命名空间?

Android列表视图不适用于片段

上下文菜单不适用于两个片段

notifyDataSetChanged 不适用于 RecyclerView

Android onRequestPermissionsResult 不适用于我的片段