在PHP中,我喜歡一步到位,像這樣申報對象(stdClass的新實例)的能力:有沒有辦法將「數組」轉換爲(object)作爲class/trait的屬性?
$obj = (object) ['a','b','c'];
這個偉大的工程... 但其作爲類屬性:
class Foo {
public $obj = (object) ['a','b','c'];
}
我得到以下錯誤:
syntax error, unexpected '(object)' (object) (T_OBJECT_CAST)
的是換另一種方法來完成這個?而且,有沒有人知道爲什麼上面的代碼是不允許的(也許特定於PHP 5.6)?我無法在任何地方找到具體的文檔。
您是否嘗試將其轉換爲構造函數並將其分配給屬性? – JavaMachine
我不認爲你可以在PHP中使用json表示法,至少據我所知,我不知道是否在新版本中添加了這種表示法。然後,如果你想投射到一個物體,我認爲你應該把這個數組轉換成一個assoc數組 – NoImaginationGuy
特別是對於特質,單線投射方法是非常方便的,因爲沒有其他的一舉一動的方法來定義和設置一個對象那(AFAIK)。而且,由於實現一個構造函數以及一個特性是一個壞消息,我將不得不忍受一個數組。 –