将它们添加到php中的另一个数组时缺少自定义对象数组

时间:2014-01-09 09:32:14

标签: php arrays object

我正在尝试从数据库中获取一组名为“Travel”的自定义对象。

这个Travel对象有另一个自定义对象数组,我想念的那个。该对象称为“乘客”。我的旅行有一个乘客阵列。我可以在eclipse调试变量中看到主阵列具有所有行程,并且所有行程都有其乘客阵列的正确计数。

第二个数组中的每个对象都有正确的类型,但它们都是空的,根本没有属性,在eclipse调试中我只能看到CLASSNAME,甚至不能看到对象属性的名称。对我来说很奇怪。

分配对象的循环:

// Array to exclude
$exc = array();
// Object Travel
$travel = null;
// Main array
$travelArr = array();

// $arr is the result from database
foreach ($arr as $val) {
   // If the new $val is not processed
   if (!in_array($val->vid, $exc)) {
      $exc[] = $val->vid;
      if (!is_null($travel)) 
         // At this point $travel has its passenger perfect.
         // Once the object is added to the main array it loses its passenger attributes
         $travelArr[] = clone $travel;
     unset($travel);
         // Function to pass from SQL to Travel object
     $travel = $this->fromSQLToObject($val);
      } 

      if (!is_null($val->pemail)) {
         $pas = $this->fromSqlToPasseger($val);
     if (!is_null($pas)) 
        $travel->addPassenger($pas);
      }
}

1 个答案:

答案 0 :(得分:0)

经过一天打破我的大脑后,我发现它与我的eclipse配置有关,我在调试中看不到变量,但它们在那里......

谢谢大家。