2013-12-16 55 views
1

我只是想知道,根據文檔(1:對象| 2:什麼=>對象總是更大的==>第二表http://www.php.net/manual/en/language.operators.comparison.php) 爲什麼在這裏:比較對象,數字,字符串或數組

$a = new stdClass(); 
var_dump($a > 10); 

給我們發一個「假」?

在此先感謝

編輯:

有什麼奇怪的(但按照文檔):

$a = new stdClass(); 
var_dump($a > "lkjlkjljljlkjkljljl"); // true 

$a = new stdClass(); 
var_dump($a > array()); // true 

$a = new stdClass(); 
var_dump($a > array("kjkl", "lkj", "llj")); // true 
+0

爲什麼粉筆不等於奶酪? –

+0

嘗試添加屬性到您的對象,看看會發生什麼。空數組和對象與具有值或屬性的行爲稍有不同 –

+0

我試過但沒有更改。 我的問題不是一個巨魔什麼的。我必須通過一個PHP認證,所以我試着瞭解這裏發生了什麼。 –

回答

0

$ A成爲轉換爲數字,但因爲你沒有提供的數字將爲0.比較$a > 100 > 10然後是false,當然是

+0

所以文檔不正確是不是? –

+0

也許解釋器以某種方式轉換你的stdClass? – MyPasswordIsLasercats

+0

這真的很奇怪...... –

0

$ a保持零(0)。所以它是正確的,因爲沒有比0更大的值被分配。 0> 10是錯誤的。

+0

爲什麼它保持爲零? –