首頁 >後端開發 >PHP問題 >php怎麼將object轉換為數組

php怎麼將object轉換為數組

青灯夜游
青灯夜游原創
2021-06-09 18:00:473977瀏覽

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