如何使用 PHP 解析序列化数据?

2024-03-27

这是我的序列化数据的示例:

a:10:{s:7:"contact";s:1:"1";s:19:"profile_affiliation";s:23:"University, Inc.";s:18:"profile_first_name";s:3:"Ben";s:22:"profile_street_address";s:19:"8718 Tot Ave. S.";s:12:"profile_city";s:6:"Mobile";s:13:"profile_state";s:2:"AL";s:15:"profile_country";s:3:"USA";s:15:"profile_zipcode";s:5:"36695";s:18:"profile_home_phone";s:10:"2599494420";s:17:"profile_last_name";s:6:"Powers";}

我希望能够使用 PHP 解析它并显示值,如下所示:

  • 个人资料名:本
  • profile_last_name:权力
  • 个人资料状态: AL

我知道我需要像这样反序列化它:

$unserialize = unserialize($data);

但我在用 PHP 解析数组时遇到了麻烦。我不断收到“为 foreach() 提供的参数无效”错误和不正确的数组输出。


这就是您正在寻找的

    <?php

    $serialized = 'a:10:{s:7:"contact";s:1:"1";s:19:"profile_affiliation";s:23:"University, Inc.";s:18:"profile_first_name";s:3:"Ben";s:22:"profile_street_address";s:19:"8718 Tot Ave. S.";s:12:"profile_city";s:6:"Mobile";s:13:"profile_state";s:2:"AL";s:15:"profile_country";s:3:"USA";s:15:"profile_zipcode";s:5:"36695";s:18:"profile_home_phone";s:10:"2599494420";s:17:"profile_last_name";s:6:"Powers";}';

    $fixed = preg_replace_callback(
        '/s:([0-9]+):"(.*?)";/',
        function ($matches) { return "s:".strlen($matches[2]).':"'.$matches[2].'";';     },
        $serialized
    );
    $original_array=unserialize($fixed);
    echo "<pre>";
    print_r($original_array);   

您序列化的字符串已损坏,因此您需要先修复它反序列化 it

output

    Array
    (
        [contact] => 1
        [profile_affiliation] => University, Inc.
        [profile_first_name] => Ben
        [profile_street_address] => 8718 Tot Ave. S.
        [profile_city] => Mobile
        [profile_state] => AL
        [profile_country] => USA
        [profile_zipcode] => 36695
        [profile_home_phone] => 2599494420
        [profile_last_name] => Powers
    )

输出:-https://eval.in/785908 https://eval.in/785908

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PHP 解析序列化数据? 的相关文章

  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 在 JsonConverter 中递归调用 JsonSerializer

    我正在写一个JsonConverter要执行一些我需要在读 写时完成的转换任务 特别是 我采用现有的序列化行为 并在写入 读取时添加一些附加属性 在 的里面JsonConverter 我想利用通过的JsonSerializer实例来执行大部
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了

随机推荐

  • 在tomcat上多次部署同一个应用程序

    我想在同一个 tomcat 实例上为不同的 客户 多次部署相同的应用程序 由于我对 tomcat 和其他应用程序服务器没有真正的经验 所以我没有起点 当我简单地生成像app1 war和app2 war这样的war文件 基于相同的代码 时 它
  • 如何通过属性值从字典中获取项目

    我有一个Dictionary
  • html 标签属性内的字符显示为问号

    我的应用程序允许用户上传带有 嵌入 标题的图像 这些标题取自 exif 数据 foreach exif read data image jpg 0 true as key gt section foreach section as name
  • 如何在 xib 文件中使用“First Responder”?

    我读到了有关响应者链的内容 基本上我读到了有关 UI 事件如何在响应者链上传递 如何处理它们以及如何传递的内容 我还使用了 becomeFirstResponder 和 resignFirstResponder 但我仅将它们用于基本任务 例
  • Hibernate 从 HqlSqlWalker 抛出 NullPointerException

    我有一个 Web 应用程序 其中有一个搜索表单 并且 HQL 是动态生成的 此外 用户可以单击列标题根据需要对项目进行排序 有些列从结构的深处获取数据 例如 我有这个 HQL 它可以完美地工作 SELECT s FROM Applicati
  • Javamail 无法收到所有邮件

    我试图获取我的 Gmail 的所有邮件 但只能获取 250 封 根据https javaee github io javamail FAQ gmailsettings https javaee github io javamail FAQ
  • Android短信设置唯一ID

    我正在尝试开发一个发送和接收 SMS 消息 除其他外 的 Android 应用程序 我希望我的应用程序短信能够轻松识别 我不想使用 SMS 消息正文作为这个唯一标识符 我认为必须有一个我可以使用的 SMS 消息属性 遗憾的是 我未能找到一个
  • 直接调用功能组件

    无状态功能组件只是一个接收函数props并返回 React 元素 const Foo props gt
  • 单独程序集中的 ASP.NET Core MVC 控制器

    我正在使用 ASP NET MVC Core RC 2 我有一个针对完整 NET 框架的 Web 项目 我在解决方案中还有一个单独的类库 也针对完整的框架 在类库中 我有一个控制器 标有路由属性 我已经从网络项目中引用了类库 该程序集引用了
  • 捆绑 ES6 文件而不进行转译

    我可能遗漏了一些明显的东西 但在发布此内容之前我进行了很多搜索 说实话 我很震惊没有找到解决方案 我想将 ES6 文件捆绑到单个模块中 但是由于我用于测试的浏览器支持 ES6 因此实际上不想转译任何内容 我不知道该怎么做 我正在使用 web
  • 如何使 可编辑?

    我找到了一些示例 解释了如何使输入类型 文件不可编辑 喜欢
  • 如何将浮动子 div 的高度扩展到父级的高度?

    我的页面结构如下 div class parent div class child left floatLeft div div class child right floatLeft div div 现在child leftDIV 的内容
  • 如何获得鲜明的人物形象?

    我有一个类似的代码 string code AABBDDCCRRFF 在此代码中 我只想检索不同的字符 输出应该是这样的 ANS ABDCRF string code AABBDDCCRRFF string answer new Strin
  • .net/java 中有哪些优秀的集体智能开源库?

    或者有任何广泛利用集体智慧的开源项目吗 看看书吧集体智慧 https rads stackoverflow com amzn click com 0596529325作者 托比 塞加兰 它涵盖了很多主题 例如亚马逊如何生成推荐等 书中有很多
  • 在 TypeScript 中将变量定义为可区分联合的一种变体

    我有以下打字稿代码 它使用可区分的联合来区分一些相似的对象 interface Fish type FISH interface Bird type BIRD flyingSpeed number interface Ant type AN
  • Magento REST API 身份验证

    有没有办法从代码传递登录凭据 而不是每次在弹出窗口中输入凭据进行登录授权 您不需要每次都需要登录凭据进行授权 OAuth 成功授权后您将获得访问令牌和访问密钥 稍后使用它们进一步调用 API Oauth 协议就是这样工作的 我猜 Magen
  • PDO:使用 mysql INSERT ON DUPLICATE KEY UPDATE 检查更新或插入的记录

    使用 PDO PHP 和 MySQL 当我使用某个记录时 如何检查记录是否被插入或更新INSERT ON DUPLICATE KEY UPDATE陈述 我见过一个使用的解决方案mysql affected rows 对于 PHP 但我正在寻
  • 在循环期间使用 while mysql_fetch_array 和 UPDATE

    我正在尝试从一个表中提取数据 将列与变量进行比较 然后如果它们匹配 则添加它们并更新另一个表上的字段 看来 UPDATE 只在 while 循环内工作一次 并将该一次的值放入整个表中该列的每一行中 奇怪的是 当我回显它时 所有值都是正确的
  • 数据表导出到 Excel <选择选项>

    在我的测试页中 我插入了一个选项列表 我需要仅将所选值导出到 Excel 但现在我的 Excel 结果包括 选择选项 的所有列表 My code
  • 如何使用 PHP 解析序列化数据?

    这是我的序列化数据的示例 a 10 s 7 contact s 1 1 s 19 profile affiliation s 23 University Inc s 18 profile first name s 3 Ben s 22 pr