Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie ein Objekt in PHP in ein Array

So konvertieren Sie ein Objekt in PHP in ein Array

青灯夜游
Freigeben: 2023-03-10 13:16:01
Original
3964 Leute haben es durchsucht

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

So konvertieren Sie ein Objekt in PHP in ein Array

本教程操作环境: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);
?>
Nach dem Login kopieren

输出:

Doing foo.Array ( )
Nach dem Login kopieren

扩展资料:

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

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

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

  • (string):转换成字符串

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

  • (array):转换成数组

  • (object):转换成对象

方法2:使用get_object_vars()函数

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

get_object_vars ( object $obj )
Nach dem Login kopieren

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

?>
Nach dem Login kopieren

输出:

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

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )
Nach dem Login kopieren

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in PHP in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage