2010-08-25 49 views
0

我知道(int)和(數組),但不是(對象)和其他人。在php中,我們如何調用(int)(array)(object)?在哪裏可以找到更多關於這些信息?

我想知道a)這些「事物」的正確名稱是什麼?b)我們可以在哪裏找到更多關於這些信息的信息?(我無法找到(對象)上php.net網站。

由於提前, MEM

+0

你從(對象)期待什麼結果呢? – 2010-08-25 14:30:54

+0

不確定你的意思。但我確實希望,一旦我們應用(對象)的價值轉化爲一個對象...... – MEM 2010-08-25 14:33:39

+0

@ Col.Shrapnel:我不知道MEM期望什麼;-)但文檔說:http:// docs。 php.net/language.types.object#language.types.object.casting – VolkerK 2010-08-25 14:38:04

回答

0

要非常小心!

如果您嘗試類似

$array = array(5, 2, 3); 
$object = (object)$array; 
print_r($object); 
echo $object->2; 

您會擁有

PHP Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '{' or '$' in - on line 5 

真的,最安全的方式從數組轉換到對象是非常令人費解,但工程好嗎:

public function makeObjects($data) 
{ 
    $object = (object) $data; 
    foreach ($object as $property) 
    { 
     if (is_array($property)) $this->makeObjects($property); 
    } 

    return $object; 
} 
+1

嗯......'$ object =(object)$ array'工作得很好......你致命錯誤的原因是因爲'$ object-> 2'不是一個有效的語法。它與轉換無關... – ircmaxell 2010-08-25 14:53:51

+0

據我所見,foreach中的代碼沒有意義 – 2010-08-25 15:02:09

+0

使用: $ response =(object)array( 'success'=> TRUE, 'data'=> array(1,2,3) ); 那裏沒有問題。 ;) – MEM 2010-08-25 15:08:05

相關問題