php对象转数组的黑技术(php数组和对象)

  • 1、PHP中把对象转数组的几个方法
  • 2、总结几个对象转数组的方法
  • 3、php怎么把对象转为数组
  • 4、如何将PHP对象数组转换成普通数组
  • 5、PHP中怎么把对象转换为关联数组
  • 6、PHP把对象转换成数组

你可以循环一下,用新数组[‘key’]=旧对象-key。

也可以这样:

$array =json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);

在利用jQuery EasyUI框架进行程序开发时,碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。

/**

* 对象数组转为普通数组

*

* AJAX提交到后台的JSON字串经decode解码后为一个对象数组,

* 为此必须转为普通数组后才能进行后续处理,

* 此函数支持多维数组处理。

*

* @param array

* @return array

*/

function objarray_to_array($obj) {

$ret = array();

foreach ($obj as $key = $value) {

if (gettype($value) == “array” || gettype($value) == “object”){

$ret[$key] = objarray_to_array($value);

}else{

$ret[$key] = $value;

}

}

return $ret;

}

这里定义2个php匿名对象和数组相互转换的函数,代码如下:

function array2object($array) {

if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key = $val){ $obj-$key = $val; } } else { $obj = $array; } return $obj;}function object2array($object) { if (is_object($object)) { foreach ($object as $key = $value) { $array[$key] = $value; } } else { $array = $object; } return $array;}

用法示例如下:

$array = array(‘foo’ = ‘bar’,’one’ = ‘two’,’three’ = ‘four’);$obj = array2object($array);print $obj-one; // output’s “two”$arr = object2array($obj);print $arr[‘foo’]; // output’s bar

在利用jQuery EasyUI框架进行程序开发时,碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。

/**

* 对象数组转为普通数组

*

* AJAX提交到后台的JSON字串经decode解码后为一个对象数组,

* 为此必须转为普通数组后才能进行后续处理,

* 此函数支持多维数组处理。

*

* @param array

* @return array

*/

function objarray_to_array($obj) {

$ret = array();

foreach ($obj as $key = $value) {

if (gettype($value) == “array” || gettype($value) == “object”){

$ret[$key] = objarray_to_array($value);

}else{

$ret[$key] = $value;

}

}

return $ret;

}

可以用函数get_object_vars将对象转换为属性组成的关联数组,其语法如下:

$arr1=get_object_vars($obj);//$obj为需要转换的对象,下同

也可以用强制类型转换,如:

$arr1=(array)$obj;

或者这样:

$arr1=settype($obj,”array”);

你这种写法更适合想要把私有或者保护的属性取出来。

如果只是公有属性,完全可以使用更方便的做法:

$res = json_decode(json_encode($obj),true);

$obj是原始对象,$res则是数组了。

原创文章,作者:TRSV0,如若转载,请注明出处:https://www.506064.com/n/126172.html

汽车小知识 小米SU7 今日油价 油耗计算器 电耗计算器 购置税计算器 贷款计算器 保险计算器 交通违章代码 体育新闻
(0)
TRSV0TRSV0
上一篇 2024-10-03 23:06
下一篇 2024-10-03 23:07

相关推荐

  • java优秀员工推荐(优秀员工怎么推荐)

    本文目录一览: 1、公司优秀员工推荐理由怎么写(两篇) 2、优秀员工评选理由 3、优秀员工推荐理由 4、优秀员工推荐信该怎么写 5、优秀员工推荐理由怎么写 6、优秀员工推荐表怎么写…

    编程 2024-10-03
  • 如何正确使用网页字体

    字体不仅影响网页的排版和视觉效果,还直接影响网页的可读性和用户体验。一款好的字体能够使网页更加美观和易读,因此在设计网页时选择合适的字体显得尤为重要。 一、字体类型的选择 选择恰当…

    编程 2024-11-02
  • 提高网页可访问性的最佳实践

    一、使用语义化的HTML标签 语义化的HTML标签可以使网页更易于理解和访问,并且有助于提高搜索引擎优化。 例如,使用 标签来标记重要的标题,使用 标签来包含段落。 <h2&…

    编程 2024-11-12
  • SFTP工具的使用详解

    一、SFTP工具PC版本 SFTP工具是一个远程文件传输协议的工具,可在多种操作系统上运行。SFTP工具PC版本在Windows、Mac OS X和Linux等操作系统中都可以运行…

    编程 2024-11-02
  • php计算字符的个数和字节,php中一个汉字占几个字节

    本文目录一览: 1、PHP字符串长度计算 – strlen()函数使用介绍 2、php如何获取字符串长度,中文、符号、英文字母都算作一个? 3、php strlen u…

    编程 2024-10-04
  • python学习之路32,32岁学python

    本文目录一览: 1、学习Python有什么好的书籍推荐 2、怎么才能最短时、高效、踏实的学习 Python? 3、应该怎样自学python 4、如何开始你的Python学习之路 5…

    编程 2024-11-08
  • Python文件操作:从基本读写到高级操作

    Python是一种功能强大的编程语言,它可以用在各种应用场景中。其中,文件操作是Python编程中重要的一部分。在Python中,我们可以读取、写入、修改各种文件,包括文本文件、二…

    编程 2024-10-04
  • cad查看绿色版免更新,绿色版cad下载

    本文目录一览: 1、怎么设置cad快看,让它不提示更新,也不自动更新 2、跪求CAD免安装版本,电脑用64位win10 3、求免费CAD看图工具. 怎么设置cad快看,让它不提示更…

    编程 2024-10-04
  • 10.0.0.55的全面剖析

    10.0.0.55是我们生活中常见的一个IP地址,它扮演着重要的角色,涉及到众多领域。在接下来的文章中,我们将从多个方面对10.0.0.55做详细的阐述,让大家更好地认识它。 一、…

    编程 2024-11-05
  • java制作excel(java制作游戏)

    本文目录一览: 1、java能做出excel表格吗 2、如何利用JAVA生成Excel文件 3、如何用java代码将数据库中的数据生成excel表 4、利用java怎么实现生成报表…

发表回复

登录后才能评论