2013-04-29 23 views
9

mam obiektu tak:iteracja obiektu stdClass w 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 
         ) 

       ) 

     ) 

) 

Potrzebuję uzyskać identyfikator i nazwę w tabeli HTML, ale wydaje mi się, że trudno jest iteracja tego obiektu. TIA. Rozumiem, że muszę dostać się do tablicy wartości, a następnie do obiektu grupy, ale potykam się o przejścia między obiektem a tablicą i foreach względem iteracji opartej na indeksach.

Na przykład próbowałem to:

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

To iteracje koryta obiektu, ale również daje mi bezużyteczny

10 0 37 
+1

pokaże Ci co próbowali i wyjaśnić w jaki sposób próba nie pasuje do Twoich oczekiwań? –

+0

pewnie. Na przykład próbowałem tego: foreach ($ res jako wartości $) { print "\ n"; print_r (wartości $); } iteruje przez obiekt, ale daje mi również bezużyteczne 10 0 37 – Mordechai

+3

'foreach ($ object-> wartości jako $ arr) ....' – adeneo

Odpowiedz

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

prawie. tutaj jest to, co działało: echo "
dostępnych grup Nazwa Grupa

"; foreach ($ res-> wartości jako $ arr) { $ id = $ arr-> grupa-> id; $ name = $ arr-> group-> name; $ html = ""; $ html. = ""; $ html. = ""; $ html. = ""; \t \t echo $ html; } echo "
Grupa ID
". $ Nazwa. "". $ Id. "
"; – Mordechai

+1

Proszę bardzo, zgadywałem tylko strukturę stołu, ale jeśli to działa, to jest ważna część. – adeneo

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

przekształcić obiekt do tablicy pierwszy taki jak:

$results = objectToArray($results); 

i używać

foreach($results as result){... ...} 
Powiązane problemy