Rumah > pembangunan bahagian belakang > masalah PHP > php怎么将object转化为数组

php怎么将object转化为数组

青灯夜游
Lepaskan: 2023-03-10 13:16:01
asal
3965 orang telah melayarinya

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);
?>
Salin selepas log masuk

输出:

Doing foo.Array ( )
Salin selepas log masuk

扩展资料:

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

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

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

  • (string):转换成字符串

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

  • (array):转换成数组

  • (object):转换成对象

方法2:使用get_object_vars()函数

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

get_object_vars ( object $obj )
Salin selepas log masuk

返回由 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));

?>
Salin selepas log masuk

输出:

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

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci php怎么将object转化为数组. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan