有时候会遇到php中对象和数组之间的互相转换

/**

* 将对象转换为多维数组

*

**/

function objectToArray($d) {

if (is_object($d)) {

// Gets the properties of the given object

// with get_object_vars function

$d = get_object_vars($d);

}

if (is_array($d)) {

/*

* Return array converted to object

* Using __FUNCTION__ (Magic constant)

* for recursive call

*/

return array_map(__FUNCTION__, $d);

}

else {

// Return array

return $d;

}

}

/**

* 将多维数组转换为对象

*

**/

function arrayToObject($d) {

if (is_array($d)) {

/*

* Return array converted to object

* Using __FUNCTION__ (Magic constant)

* for recursive call

*/

return (object) array_map(__FUNCTION__, $d);

}

else {

// Return object

return $d;

}

}//对象转化数组的形式

private function object_to_array($object){

foreach($object as $k=>$v){

if(is_object($v)){

$data[] = get_object_vars($v);

}

}

return $data ;

}array_map摘自php手册上面的

PHP 4 >= 4.0.6, PHP 5)

array_map --  将回调函数作用到给定数组的单元上

说明

array array_map ( callback callback, array

arr1 [, array ...] )

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback

作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

例 1. array_map() 例子

{

return($n*$n*$n);

}$a= array(1,2,3,4,5);$b=array_map("cube",$a);print_r($b);?>

这使得 $b 成为:

Array

(

[0] => 1

[1] => 8

[2] => 27

[3] => 64

[4] => 125

)

php对象数组转数组_php 数组对象互相转换相关推荐

  1. for循环 php 增加数组维数_PHP数组在循环中创建多维数组

    我有一个关联的多维数组,如下所示 $data = array(); $data = Array ( [0] => Array ( [class] => 1styear [branch] = ...

  2. php数组的奇数_php数组如何将奇数偶数分开

    PHP如何在不使用循环的情况下将奇数和偶数元素与数组分开? 在PHP中,您将获得n个元素的数组.您必须根据元素奇数或偶数将元素与数组分开.也就是说,分别打印奇数数组和偶数数组而不遍历原始数组或使用任何 ...

  3. php 数组随机排序_php 数组元素随机排序代码

    php教程 数组元素随机排序代码 因为工作需要我要对我定义好的数组进行随机排序,每一次循环都要是不同的,下面我们利用了php shuffle函数随机对数组元素进行排序.方法非常简单. shuffle( ...

  4. php数组批量赋值_PHP数组赋值方法详解

    PHP数组还是比较常用的,咸宁网站建设公司研究了一下php数组赋值,在这里拿出来和大家分享一下,希望对大家有用. 所谓数组就是一组变量的集合保存在计算机的内存中,这些变量可以是不同的类型,包括整数,布 ...

  5. PHP数组加表格_php数组输出html表格的操作方法

    class xtable { ?private $tit,$arr,$fons,$sextra; ?public function __construct() ?{ ??$this->tit=a ...

  6. php判断对象是否存在属性_PHP检查对象或类中是否存在属性

    isset或property_exists都不适合我. 如果属性存在但是为NULL,则isset返回false. 如果属性是对象的类定义的一部分,则property_exists返回true,即使它已 ...

  7. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  8. list对象_list对象,容量自适应的数组式容器

    点击上方蓝色小字 "小菜学编程" ,关注我们? 笔者经常在面试中与候选人探讨 Python 内置容器对象, list 作为最常用容器中的一员,肯定少不了它: 你用过 list 对象 ...

  9. java的数组是对象吗_在Java中数组是原始类型还是对象?

    数组被视为Java中的对象.其背后的原因是可以使用'new'关键字创建数组." new"关键字/运算符始终用于创建对象.这就是将数组视为对象的方式. 任何数组的直接父类或超类是&q ...

  10. java字符串数组拷贝函数_java 数组的拷贝 对象数组的拷贝 System.arraycopy函数

    /* java 数组的操作   System类的arraycopy静态函数用于数组拷贝   数组是不能越界的 对象数组的复制实际上是复制的引用的拷贝  也就是对象的地址 */ class Point ...

最新文章

  1. JavaScript停止冒泡和阻止浏览器默认行为
  2. 物联网基石,五大领域对智能传感器的需求暴涨
  3. 计算机和打印机的耗材管理,打印设备耗材余量知多少?多种途径实时掌握
  4. Android 根据从服务器中获取的rgb值实现动态改变圆角加框的Imageview 的背景色
  5. wp7开发官方教程和开发包
  6. JavaScript返回上一页代码区别
  7. 给开源项目贡献代码_您可以为开源做出6种非代码贡献
  8. 利用Postman测试智慧交通系统接口
  9. 设置负数_合同到期提示设置,还在手动计算就out了,学会today函数一键搞定
  10. TF2.0-tf.keras.layers.Concatenate
  11. 手机电子名片html,利用JavaScript的AngularJS库制作电子名片的方法
  12. 直流开环调速系统 simulink仿真
  13. 使用腾讯位置服务 JavaScript API GL 打造自己的 3D 地图
  14. 惠普HP2132打印机 803墨盒的简单加墨方法
  15. nodejs项目(基于Express)——为上传的图片贴上国旗图标(使用gm)并返回图片位置
  16. 阿里云物联网平台-数据解析脚本详解
  17. 雷军卸任小米软件技术公司董事长;微软洽谈向 OpenAI 投资 100 亿美元;Windows 7 彻底退出历史舞台|极客头条
  18. vscode 中python不能跳转问题
  19. Zookeeper 的基本使用
  20. B站吴恩达深度学习视频笔记(1-14)——实战3:识别猫图

热门文章

  1. [CMMI]中型项目流程梳理
  2. 十二之续、快速排序算法的深入分析
  3. 配置WINDOWS群集
  4. 智能安全实验室-Defendio杀马2.4.0.420-实时防护-内存防护、新浏览器导航界面...
  5. linux服务器下降,linux - 远程升级Ubuntu:如何最大程度地降低丢失服务器的风险? - Ubuntu问答...
  6. Spring配置项context:annotation-config/解释说明
  7. sum(x) over( partition by y ORDER BY z ) 分析
  8. python名称空间与运用域_Python名称空间和作用域讲座,命名,Namespaces,Scopes
  9. anaconda如何更改环境配置_手把手教新手安装Anaconda配置开发环境
  10. 大学物理实验电学基本参数的测量实验报告_大学物理电学实验报告