首页 >后端开发 >PHP问题 >php怎么将object转化为数组

php怎么将object转化为数组

青灯夜游
青灯夜游原创
2021-06-09 18:00:473961浏览

php将object转化为数组的方法:1、利用强制类型转换,语法“(array)Object变量”;2、利用get_object_vars()函数,语法“get_object_vars (object变量)”。

php怎么将object转化为数组

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

方法1:利用强制类型转换--在要转换的变量之前加上用括号括起来的目标类型“(array)”

示例:object强制类型转换为array

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
print_r((array)$bar);
?>

输出:

Doing foo.Array ( )

扩展资料:

允许转换的PHP数据类型有:

  • (int)、(integer):转换成整形

  • (float)、(double)、(real):转换成浮点型

  • (string):转换成字符串

  • (bool)、(boolean):转换成布尔类型

  • (array):转换成数组

  • (object):转换成对象

方法2:使用get_object_vars()函数

get_object_vars — 返回由对象属性组成的关联数组。语法格式:

get_object_vars ( object $obj )

返回由 obj 指定的对象中定义的属性组成的关联数组。

示例:

<?php
class Point2D {
    var $x, $y;
    var $label;

    function Point2D($x, $y)
    {
        $this->x = $x;
        $this->y = $y;
    }

    function setLabel($label)
    {
        $this->label = $label;
    }

    function getPoint()
    {
        return array("x" => $this->x,
                     "y" => $this->y,
                     "label" => $this->label);
    }
}

// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>

输出:

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

推荐学习:《PHP视频教程

以上是php怎么将object转化为数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn