2013-09-28 5 views
4

У меня есть массив в php, полный объектов Eventos Calendario, в какой-то момент моего скрипта мне нужно ввести новый объект того же типа в положение x этого массива. это код, я используюВставить объект в массив

$EventoLimite = new EventosCalendario(null,$Timestamp, $TipoEvento);     
var_dump($EventoLimite); 
array_splice($this->EventosEntrada, $i, 0, $EventoLimite); // 
var_dump($this->EventosEntrada[$i]); 

и «Var_Dumps» я получаю являются:

object(EventosCalendario)[15] 
    public 'FechaHora' => int 1376334000 
    public 'FechaHoraOriginal' => null 
    public 'Tipo' => string 'Entrada' (length=7) 
    public 'Origen' => string 'Insertado' (length=9) 
    public 'Subtipo' => null 
    public 'ID' => null 

int 1376334000 

Почему новый слот в массиве только получать значение свойства «FechaHora»? Мне нужно получить весь объект в $ this-> EventosEntrada [$ i]. Как мне это сделать??

+1

Из документов 'array_splice': * * Примечание: если замена не является массивом, она будет выглядеть с помощью метода (например, (массив) $). Это может привести к неожиданному поведению при замене объекта или NULL. *». Может быть, есть проблема? –

ответ

8

«замена» аргумент должен будет сам массив, так что вы должны написать

array_splice($this->EventosEntrada, $i, 0, [$EventoLimite]); // note []s 
+0

О, БОГ, ты гений. Соответствует ли кронштейн слоту массива? – user1181589

+0

@ user1181589: Я просто иду к документам всякий раз, когда случается что-то неожиданное :-) – Jon

+0

спасательный раствор чувак. –

0

может быть, его из-за того, что, когда вы вводите новый объект, просто публичные переменные и функции доступны конкретным файл, над которым вы работаете. Я имею в виду, что это вызывает доступ к clsasses.

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