在PHP中构建对象数组

时间:2017-05-10 14:29:20

标签: php

我试图将2-3个阵列组合成一个对象数组,如下所示:

 while($j < $itemCounter && $i < $histCounter)
 {
     if($hists[$i]->itemid == $items[$j]->itemid)
     {
         //echo $i."\n";
         $doc[$i]->clock = intval($hists[$i]->clock); <-line 218
         $doc[$i]->value = floatval($hists[$i]->value);
         $doc[$i]->name = $items[$j]->name;
         $doc[$i]->hostname = $hostName[intval($items[$j]->hostid)];
         $i++;
     }
     else
     {
         //echo intval($hists[$i]->itemid) ."\t". intval($items[$j]->itemid)."\n";
         //echo $j."\n";
         if($hists[$i]->itemid > $items[$j]->itemid) $j++;
         else $i++;
     }
 }

我不断收到很多这些

  

PHP警告:在第218行的**。php中从空值创建默认对象

我也收到很多通知,但是......我认为解决这个问题可能会解决我的问题。

我做对象构建完全错了吗?我是否需要构建一个类和对象并构建完全不同的结构?

这是我目前对$doc的声明:

$doc = NULL;

1 个答案:

答案 0 :(得分:1)

在开始设置时钟之前,启动对象。

$doc[$i] = new stdClass();