2014-11-07 3 views
1

Существует объект из функции result():Как создать объект PHP?

foreach ($query->result() as $row) 
{ 
    echo $row->title; 
    echo $row->name; 
    echo $row->body; 
} 

Как я могу получить тот же объект из следующего массива:

$arr[$key] = array(
    'Reason' => $status, 
    'Time' => $val->time, 
     'IdUser' => $val->dot, 
     'Date' => $val->date, 
     'IdUser' => $val->IdUser, 
      'Photo' => $val->Photo 
); 

Я попытался (object)$arr

+0

Возможный дубликат [Преобразование массива в объект PHP] (http://stackoverflow.com/questions/1869091/convert-array-to-object-php) – CyberBoy

+0

Дублирующий вопрос , Ответ здесь: 'http: // stackoverflow.com/questions/1869091/convert-array-to-object-php' – mocanuga

ответ

0

С $key быть строкой, это довольно легко, просто бросить на объект как:

$key = 'test'; 
$arr[$key] = (object)array(
    'Reason' => 1, 
    'Time' => 100, 
     'IdUser' => $val->dot, 
     'Date' => $val->date, 
     'IdUser' => $val->IdUser, 
      'Photo' => $val->Photo 
); 
$row = (object)$arr; 

var_dump($row->test); 
/* 
object(stdClass)#1 (5) { 
    ["Reason"]=> 
    int(1) 
    ["Time"]=> 
    int(100) 
    ["IdUser"]=> 
    NULL 
    ["Date"]=> 
    NULL 
    ["Photo"]=> 
    NULL 
} 
*/ 
echo $row->test->Time; //100 

Если $key - это номер ... вам не повезло. В некоторых версиях php, например, $row->{'2'} будет работать, но в основном это не будет - и если вы хотите использовать числовой индекс как свойство объекта, вы где-то делаете ошибку дизайна. См. Этот код для источника моего примера: http://codepad.org/Y7F2xCnj

1

У вас есть хороший пример на http://php.net/manual/es/language.oop5.php

$obj = (object) array('foo' => 'bar', 'property' => 'value'); 

echo $obj->foo; // prints 'bar' 
echo $obj->property; // prints 'value' 

Ваш ассоциативный массив преобразуется в объект, и вы можете получить его свойства сейчас.

Есть anothers способов преобразования массива на объект, принять оптимальное решение для Вас:

How to convert an array to object in PHP?

Смежные вопросы