2012-12-02 67 views
-1
Array 
(
[9] => stdClass Object 
    (
     [tid] => 9 
     [vid] => 3 
     [name] => Domestic 
     [description] => Domestic 
     [weight] => 0 
    ) 

[12] => stdClass Object 
    (
     [tid] => 12 
     [vid] => 3 
     [name] => Economic 
     [description] => Economic 
     [weight] => 1 
    ) 

[11] => stdClass Object 
    (
     [tid] => 11 
     [vid] => 3 
     [name] => International 
     [description] => 
     [weight] => 2 
    ) 


) 

假设print_r($ child)的结果是上面的,我如何回显所有的tid和名字,我该怎么办?如何输出结果?

foreach($child as $arr){ 
foreach($arr as $key=>$vaule) 
{ 
... 

我不知道如何循环它们。

回答

1

这应该为您打印数据。

foreach($child as $arr) 
{ 

    echo 'Tid: ' . $arr->tid . ' and Name: ' . $arr->name . "\n"; 
} 

您可能希望添加适当的HTML标记来对其进行格式化。

+0

它不输出任何内容。 GDD回答正确 – 123

+0

输出Tid:和Name:Tid:和Name:.... – 123

+0

糟糕 - 没有注意到元素是对象。更正它。 –

0
foreach($child as $arr) 
{ 
    echo "output: ".$arr->tid." ".$arr->name; 
} 
+0

即使您的解决方案可能不错,但对其工作原理添加一点评论也不会造成损害,并且可以让OP更好地理解您的解决方案。 – nKn

0

您可以对象转换为数组这个php功能

<?PHP 

function object2array($data) 
{ 
    if (is_array($data) || is_object($data)) 
    { 
     $result = array(); 
     foreach ($data as $key => $value) 
     { 
      $result[$key] = object2array($value); 
     } 
     return $result; 
    } 
    return $data; 
} 

?> 

使用此功能,您可以使用此代码后。

foreach($child as $arr) 
{ 
    foreach($arr as $key=>$val) 
    { 
     if($key == "tid" || $key == "name") 
     { 
      // Here some code 
     } 
    } 
}