首页 > 编程知识 正文

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

时间:2023-12-04 11:50:02 阅读:312065 作者:BOVH

本文目录一览:

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

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;

}

php怎么把对象转为数组

这里定义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

如何将PHP对象数组转换成普通数组

在利用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;

}

PHP中怎么把对象转换为关联数组

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

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

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

$arr1=(array)$obj;

或者这样:

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

PHP把对象转换成数组

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

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

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。