2010-08-25 46 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

相关问题