PHP如何将数组转换为对象类型

php 2023-05-24 256次浏览

PHP中数组如何转换成对象

前言

今天遇到一个问题,客户端页面部分模块内容突然无法展示,查看相关日志发现下发都正常,没办法只能拿到能复现case的手机,通过proxyman抓包看是否下发,结果也能正常下发,但是却没有展现。
怀疑可能是客户端同学迭代某个功能影响了,找到相关同学一通排查,最后发现客户端最近升级json解析库,原来下发的一个字段格式为对象类型{},该字段通过逻辑过滤后被PHP改成了空结构[],Android json库认为字段对象类型跟原来不一样,解析失败,所以没展示,想起上午的一个上线,脑袋有点大。。。

PHP处理中一般对对象和数组的空结果的类型不是很注意,一般都是直接定义为空数组,这样很容易遇到上面的问题,下面简单说下PHP空对象的定义以及数组如何转换成对象类型

PHP数组转为对象

<?php
//定义一个空的对象
$object = (object)[];
var_dump($object);

//将数组转为对象
$arr = [
    "id"  => 100001,
    "name"    => "robin"
];
var_dump($arr);
var_dump((object)$arr);

以上执行结果为:

object(stdClass)#1 (0) {
}

array(2) {
     ["id"]=>int(100001)
     ["name"]=>string(5) "robin"
}

object(stdClass)#2 (2) {
     ["id"]=>int(100001)
     ["name"]=>string(5) "robin"
}

文档参考

Object 对象:https://www.php.net/manual/zh/language.types.object.php

结语

以上是PHP定义空对象以及如何将数组转为对象类型的简单介绍,希望能帮助到需要的同学,更多文章请关注本站其他内容,感谢!

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址