2013-03-14 87 views
-2

今天我發現了一些新東西。PHP類方法將參數視爲對象而不是字符串/動態解釋參數數據類型

我有一個典型的成員,私人,公共和受保護方法的PHP類。

方法之一是這樣的:

protected function processThis($dataString) 
{ 
    $dataStringJson = json_decode($dataString); 

} 

這吐出警告:

json_decode()預計參數1是串,對象中給出.../File.php在線xxx

等一下,不是PHP鬆散類型和動態解釋?

+1

你有一個__toString()方法,在你的對象 – Anigel 2013-03-14 17:19:21

+0

...是...?這並不意味着它沒有類型,或者所有東西都可以神奇地與其他所有東西一起使用。 – deceze 2013-03-14 17:20:33

回答

1

當然可以,但是有一些功能可以更好地提醒人們他們正在做些奇怪的事情。您還會收到$f = "1"; array_shift($f);的警告。

如果你想json_decode只是工作,然後澆注到一個字符串是很容易的:

protected function processThis($dataString) 
{ 
    $dataStringJson = json_decode(''.$dataString); 
} 
相關問題