Steve: -> mehrdim. Array > Struktur: Hilfe beim Code lesen

Hallo Forumler, einen gudden Abend wünsch´ich!

Bin gerade am ummodeln von einem PHP-Script (Modul für Joomla) und bin - mit meinem (Anfänger-)Latein - so ziemlich am Ende.
Nicht nur dass das ganze Skript mit eval() geschrieben und dadurch sowieso schon 'schwer nachzuvollziehen' ist, sind auch noch die Array´s ziemlich verschachtelt.

Das Skript gibt Reihen einer mySql nacheinander aus:

[Kategorie1][Titel1][Content1][...]
[Kategorie1][Titel2][Content2][...]
[Kategorie5][Titel3][Content3][...]
[Kategorie1][Titel4][Content4][...]

Ich möchte gerne mit if() nur eine bestimmte Kategorie ausgeben, leider versuche ich nun seit 2h die passende Variable aus dem Array zu bekommen:

print_r($event) listet folgendes:
Array ( [0] => Array ( [0] => stdClass Object ( [id] => 2 [sid] => 0 [catid] => 19 [title] => xxxxx [content] => blablablabla [adresse_info] => [contact_info] => [extra_info] => [color_bar] => #990000 [useCatColor] => 1 [state] => 1 [mask] => 0 [created] => 2006-01-13 20:11:20 [created_by] => 62 [created_by_alias] => [modified] => 2006-01-17 09:07:21 [modified_by] => 62 [checked_out] => 0 [checked_out_time] => 0000-00-00 00:00:00 [publish_up] => 2006-01-16 22:00:00 [publish_down] => 2009-01-15 23:00:00 [images] => a.gif [reccurtype] => 0 [reccurday] => [reccurweekdays] => [reccurweeks] => [approved] => 1 [ordering] => 1 [archived] => 0 [access] => 0 [hits] => 56 )

Ich suche hier die Variable: [catid] => 19

if($event[0->catid] == 19){...} else{...}
if($event[0]->catid == 19){...} else{...}

irgendwie alles falsch.

wurde mich über eine kleine Hilfe freuen! Ich versprech' auch die mehrdim. Arrays bei Zeit mal genauer zu studieren ;-)

Grüße
Steve.

  1. Hallo Steve,

    print_r($event) listet folgendes:
    Array ( [0] =>
             Array ( [0] =>
                     stdClass Object ( [id] => 2
                                       [sid] => 0
                                       [catid] => 19

    Ich suche hier die Variable: [catid] => 19

    if($event[0->catid] == 19){...} else{...}
    if($event[0]->catid == 19){...} else{...}

    $event ist vom Typ ein Array und unter Index 0 ist ein weiters Array, welches seinerseits unter Index 0 ein Objekt enthält. Also sollte Dein Code so aussehen:

      
    if($event[0][0]->catid==19)  
    
    

    Bei solchen Strukturen, ist es hilfreich, wenn man die Struktur noch nicht als Baum vergegenwertigen kann, sich in Worten klar zu machen, _was_ dort _wo_ ist.

    Gruß aus Berlin!
    eddi

    1. Hallo eddi!

      na, soooo weit weg war ich ja gar nicht... in spätestens 3weiteren Stunden hätte ichs auch gehabt ;-)

      Bei solchen Strukturen, ist es hilfreich, wenn man die Struktur noch nicht als Baum vergegenwertigen kann, sich in Worten klar zu machen, _was_ dort _wo_ ist.

      Ja, so aufgegliedert schaut´s richtig logisch aus...

      Vielen Dank Richtung Hauptstadt!
      Steve.