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

php怎麼把object轉換成數組

zbt
zbt原創
2023-06-12 17:16:592614瀏覽

php把object轉換成陣列的方法是:1、利用強制型別轉換,在要轉換的變數之前加上用括號括起來的目標型別「(array)」;2、使用「get_object_vars( )”函數,傳回由obj指定的物件中定義的屬性所組成的關聯數組。

php怎麼把object轉換成數組

本教學操作環境:windows10系統、php8.1.3版本、DELL G3電腦。

php把object轉換成陣列的方法

#方法1:利用強制型別轉換--在要轉換的變數之前加上用括號括起來的目標類型「(array)」

範例:object強制類型轉換為array

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 指定的物件中定義的屬性所組成的關聯陣列。

範例:

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怎麼把object轉換成數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn