2015-02-11 56 views
2

我花了2个多小时寻找解决方案,并且由于我完全被封锁而留给您。我试图学习PHP中的对象。我创建了一个返回SQL查询结果的函数。获取具有数组和对象的元素

这里是回报的var_dump:

object(stdClass)[6] 
    public 'name' => 
    array (size=2) 
     0 => 
     object(stdClass)[11] 
      public 'id' => string '1' (length=1) 
     1 => 
     object(stdClass)[12] 
      public 'id' => string '5' (length=1) 

我用一个foreach解析这一点,但我不明白每个元素直接的ID。我特别不想使用其他的foreach。

foreach($function as $key => $value){ 
    var_dump($value->id); 
} 

但它没有在那里工作。

这里是调用的函数返回谁这个结果

public function nameFunction() { 

    $obj = new stdClass(); 
    $return = array(); 

    $request = $this->getConnexion()->prepare('SELECT id FROM table') or die(mysqli_error($this->getConnexion())); 

    $request->execute(); 
    $request->store_result(); 
    $request->bind_result($id); 

    while ($request->fetch()) { 
     $return[] = parent::parentFunction($id); 
    } 

    $obj->name = $return; 

    $request-> close(); 

    return $obj; 
} 

和家长:: parentFunction($ id)返回:

object(stdClass)[11] 
    public 'id' => string '1' (length=1) 
+1

你能后的完整代码 – 2015-02-11 09:33:36

+0

是因为我们需要看到,如果你是循环数组或对象 – 2015-02-11 09:36:54

回答

1

您正在循环对象而不是数组。尝试使用此代码

foreach($function->name as $key => $value){ 
    var_dump($value->id); 
} 

告诉我,如果你的作品

+0

呀!!!!而已 ! WOOW。我知道我并不遥远,但我需要一点点努力。美丽,谢谢! – Zl3n 2015-02-11 10:03:32

+1

@Zlen我很高兴我帮助你。 – 2015-02-11 10:04:14