2013-04-29 62 views
9

Tôi đã một đối tượng như thế này:lặp thông qua một đối tượng stdClass trong PHP

stdClass Object 
(
    [_count] => 10 
    [_start] => 0 
    [_total] => 37 
    [values] => Array 
     (
      [0] => stdClass Object 
       (
        [_key] => 50180 
        [group] => stdClass Object 
         (
          [id] => 50180 
          [name] => CriticalChain 
         ) 

       ) 

      [1] => stdClass Object 
       (
        [_key] => 2357895 
        [group] => stdClass Object 
         (
          [id] => 2357895 
          [name] => Data Modeling 
         ) 

       ) 

      [2] => stdClass Object 
       (
        [_key] => 1992105 
        [group] => stdClass Object 
         (
          [id] => 1992105 
          [name] => SQL Server Users in Israel 
         ) 

       ) 

      [3] => stdClass Object 
       (
        [_key] => 37988 
        [group] => stdClass Object 
         (
          [id] => 37988 
          [name] => CDO/CIO/CTO Leadership Council 
         ) 

       ) 

      [4] => stdClass Object 
       (
        [_key] => 4024801 
        [group] => stdClass Object 
         (
          [id] => 4024801 
          [name] => BiT-HR, BI & IT Placement Agency 
         ) 

       ) 

      [5] => stdClass Object 
       (
        [_key] => 37845 
        [group] => stdClass Object 
         (
          [id] => 37845 
          [name] => Israel Technology Group 
         ) 

       ) 

      [6] => stdClass Object 
       (
        [_key] => 51464 
        [group] => stdClass Object 
         (
          [id] => 51464 
          [name] => Israel DBA's 
         ) 

       ) 

      [7] => stdClass Object 
       (
        [_key] => 66097 
        [group] => stdClass Object 
         (
          [id] => 66097 
          [name] => SQLDBA 
         ) 

       ) 

      [8] => stdClass Object 
       (
        [_key] => 4462353 
        [group] => stdClass Object 
         (
          [id] => 4462353 
          [name] => Israel High-Tech Group 
         ) 

       ) 

      [9] => stdClass Object 
       (
        [_key] => 4203807 
        [group] => stdClass Object 
         (
          [id] => 4203807 
          [name] => Microsoft Team Foundation Server 
         ) 

       ) 

     ) 

) 

tôi cần phải nhận được id và tên trong một bảng HTML, nhưng tôi dường như có một thời gian khó lặp lại thông qua đối tượng này. TIA. Tôi hiểu rằng tôi cần phải nhận được các mảng giá trị, và sau đó đến đối tượng nhóm, nhưng tôi đi qua các quá trình chuyển đổi giữa các đối tượng và mảng và foreach vs lặp lại dựa trên chỉ mục.

Ví dụ tôi đã cố gắng này:

foreach ($res as $values) { print "\n"; print_r ($values); } 

Nó lặp trough đối tượng, nhưng nó cũng mang lại cho tôi vô dụng

10 0 37 
+1

bạn sẽ hiển thị những gì bạn đã cố gắng và giải thích cách nỗ lực của bạn không phù hợp với mong đợi của bạn? –

+0

. Ví dụ: tôi đã thử điều này: foreach ($ res là $ values) { in "\ n"; print_r (giá trị $); } nó lặp lại máng đối tượng, nhưng nó cũng mang lại cho tôi vô dụng 10 0 37 – Mordechai

+3

'foreach ($ object-> giá trị như $ arr) ....' – adeneo

Trả lời

16
echo "<table>" 

foreach ($object->values as $arr) { 
    foreach ($arr as $obj) { 
     $id = $obj->group->id; 
     $name = $obj->group->name; 

     $html = "<tr>"; 
     $html .= "<td>Name : $name</td>"; 
     $html .= "<td>Id : $id</td>"; 
     $html .= "</tr>"; 
    } 
} 

echo "</table>"; 
+0

gần như. đây là những gì làm việc: echo "
Groups sẵn

"; foreach ($ res-> values ​​as $ arr) { $ id = $ arr-> group-> id; $ name = $ arr-> group-> name; $ html = ""; $ html. = ""; $ html. = ""; $ html. = ""; \t \t echo $ html; } echo "
Group Name Group ID
". $ Name. "". $ Id. "
"; – Mordechai

+1

Có bạn đi, tôi chỉ đoán cấu trúc của một cái bàn ở đó, nhưng nếu bạn có nó làm việc, đó là phần quan trọng. – adeneo

1
foreach($res->values as $value) { 
    print_r($value); 
} 
2
function objectToArray($data) 
{ 
    if (is_object($data)) 
     $d = get_object_vars($data); 
} 

Chuyển đổi đối tượng để mảng đầu tiên như:

$results = objectToArray($results); 

và sử dụng

foreach($results as result){... ...} 
Các vấn đề liên quan