您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在PHP項目中將數(shù)組和對象進(jìn)行轉(zhuǎn)換,此處通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考價值,需要的朋友可以參考下:
php是一個嵌套的縮寫名稱,指的是英文超級文本預(yù)處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。
官方文檔是這樣解釋的:
array get_object_vars ( object $obj )
返回由 obj 指定的對象中定義的屬性組成的關(guān)聯(lián)數(shù)組。
舉一個栗子:
<?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
)
這樣就很好理解了,這個函數(shù)就是對象轉(zhuǎn)數(shù)組的關(guān)鍵函數(shù)。
對象轉(zhuǎn)數(shù)組具體實現(xiàn)
function objectToArray($obj) { //首先判斷是否是對象 $arr = is_object($obj) ? get_object_vars($obj) : $obj; if(is_array($arr)) { //這里相當(dāng)于遞歸了一下,如果子元素還是對象的話繼續(xù)向下轉(zhuǎn)換 return array_map(__FUNCTION__, $arr); }else { return $arr; } }
數(shù)組轉(zhuǎn)對象具體實現(xiàn)
function arrayToObject($arr) { if(is_array($arr)) { return (object)array_map(__FUNCTION__, $arr); }else { return $arr; } }
到此這篇關(guān)于怎么在PHP項目中將數(shù)組和對象進(jìn)行轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)怎么在PHP項目中將數(shù)組和對象進(jìn)行轉(zhuǎn)換的內(nèi)容請搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。