實作步驟:1、利用get_object_vars()函數將物件轉換為關聯數組,語法“get_object_vars($object)”,會傳回一個由物件屬性組成的關聯數組;2、利用array_values()函數將關聯數組轉為索引數組,語法“array_values($array)”。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在PHP中,可以利用get_object_vars()函數和array_values()函數來將物件轉換為索引數組。
實作步驟:
步驟1:利用get_object_vars()函數將物件轉為關聯數組
#php中把物件轉為陣列的函數是「get_object_vars()」。
get_object_vars()函數用於取得給定物件的屬性,並傳回由物件屬性組成的關聯數組。但如果物件沒有屬性,則傳回 NULL。
語法:
get_object_vars($object)
傳回由 obj 指定的物件中定義的屬性所組成的關聯陣列。
注意:
在PHP 4.2.0 之前的版本中,如果在 obj 物件實例中宣告的變數沒有被賦值,則它們將不會在傳回的陣列中。而在 PHP 4.2.0 之後,這些變數作為鍵名將被賦予 null 值。
範例:
<?php class gfg { public $geeks = 0.02; public $for = 1; public $Geeks = "php"; public $GEEKS; public $e; } $example = new gfg; $arr=get_object_vars($example); var_dump($arr); ?>
可以看到,get_object_vars()函數會將物件轉為關聯數組。
步驟2:利用array_values()函數將關聯數組轉換成索引數組
array_values() 函數可以取得數組中所有元素的值,並傳回包含數組中所有的值的數組。 (被傳回的陣列將使用數值鍵,從0 開始且以1 遞增。)
此函數語法格式如下:
array_values($array)
array_values($arr)
#:array_values() 函數只適用於一維數組,對於多維數組中第一維度以外的維度沒有效果。
但可透過存取多維數組中數組來取得值:<?php header("Content-type:text/html;charset=utf-8"); $arr = array(1,2,3,"aa"=>array(4,5,6),7,8,array(9,10)); echo "原关联数组:"; var_dump($arr); $res=array_values($arr["aa"]); echo "转换后的数组:"; var_dump($res); ?>#推薦學習:《
PHP影片教學》
以上是php怎麼將物件轉為索引數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!