首頁  >  文章  >  後端開發  >  PHP中的new StdClass()有什麼用

PHP中的new StdClass()有什麼用

巴扎黑
巴扎黑原創
2017-08-09 15:00:362500瀏覽

PHP中的new StdClass()的作用:new StdClass()可以用來建立一個沒有成員方法的空對象,語法為:【$object = new StdClass();】。 StdClass類別沒有任何成員方法,也沒有任何成員屬性。

PHP中的new StdClass()有什麼用

stdClass 是PHP 的一個基類,幾乎所有的類別都繼承了這個類,所以任何時候都可以被new,讓這個變數成為一個Object。同時,實例化之後的 stdClass 是沒有任何性質和方法的,也就是空物件。

PHP可以用 $object = new StdClass(); 建立一個沒有成員方法和屬性的空物件。

很多時候,程式設計師們會將一些參數配置項之類的資訊放在陣列中使用,但是陣列操作起來並不是很方便,很多時候使用物件運算子->xxx比陣列操作符['xxx']要方便不少。於是就需要建立一個空的對象,來將需要的屬性名稱和屬性值儲存到對像中。

然而PHP中沒有Javascript裡面 var object = {}; 這樣的語法。

PHP建立空物件至少可以使用3種方法實作

方法一:寫一個空類別

勉強能完成任務,但特別沒有格局。

<?php
  class cfg {
  }
  $cfg = new cfg;
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>

方法二:實例化StdClass 類別

StdClass類是PHP中的一個基類,然而比較詭異的是PHP手冊裡面血幾乎沒有提到過這個類,至少在PHP索引中是搜尋不到這個類的。

StdClass類別沒有任何成員方法,也沒有任何成員屬性,實例化以後就是一個空物件。

<?php
  $cfg = new StdClass();
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>

方法三:折騰json_encode()和json_decode()

這種方法就是把一個空的JSON物件經過json_decode()轉變為PHP的StdClass空物件。

同樣的道理,你可以將一個陣列透過json_encode()轉成JSON,再透過json_decode()將JSON轉為StdClass對象,

關於這兩個函數,可以參考PHP手冊。

<?php
  $cfg = json_decode(&#39;{}&#39;);
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>

更多相關知識,請造訪 PHP中文網! !

以上是PHP中的new StdClass()有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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