+ Antworten
Ergebnis 1 bis 7 von 7

Thema: mehrdimensionales Array - stdClass-Objekt

  1. #1
    Hat hier eine Zweitwohnung Avatar von AbRaXaS
    Registriert seit
    23.08.2006
    Ort
    Vechta
    Beiträge
    1.176
    Bedankte sich
    34
    Erhielt 152 Danksagungen
    in 148 Beiträgen

    Standard mehrdimensionales Array - stdClass-Objekt

    Mahlzeit!

    Bin grade dabei, auf verschieden Tabellenfelder zuzugreifen. Jetzt habe ich gerade die Display News und möchte die einzelnen Objekte aus
    PHP-Code:
    $rows 
    (was mir ein Array zurückgibt) einzeln auswerten.
    PHP-Code:
    $rows[0
    gibt mir
    Code:
    stdClass Object ( [id] => 7271 [title] => Ne neue Seite ... etc.)
    aus, aber wie greife ich jetzt id, title, title_alias, etc. ab.

    Keine Ahnung ich kriegs nicht hin, warum auch immer, wahrscheinlich hab ich nen Denkfehler, aber kann mich da mal jemand anschieben ... DANKE!
    Probleme sind da um gelöst zu werden!

    If only you and dead people can read HEX, how many people can read it.

    57006


  2. #2
    Hat hier eine Zweitwohnung Avatar von AbRaXaS
    Registriert seit
    23.08.2006
    Ort
    Vechta
    Beiträge
    1.176
    Bedankte sich
    34
    Erhielt 152 Danksagungen
    in 148 Beiträgen

    Standard

    OK, habs gerade selber rausgefunden mit
    PHP-Code:
    $rows[0]->id 
    bekomme ich bspw. die ID.
    Probleme sind da um gelöst zu werden!

    If only you and dead people can read HEX, how many people can read it.

    57006


  3. Erhielt Danksagungen von:


  4. #3
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Warum holst du dir eine Liste von Objekten, um danach dir nur das erste der Arrays
    in betracht zu ziehen? Was hast du genau vor? Ggf. gibt es noch andere Lösungsmöglich-
    keiten.

    Grüße
    ec

  5. #4
    Hat hier eine Zweitwohnung Avatar von AbRaXaS
    Registriert seit
    23.08.2006
    Ort
    Vechta
    Beiträge
    1.176
    Bedankte sich
    34
    Erhielt 152 Danksagungen
    in 148 Beiträgen

    Standard

    Das ist nur ein Test gewesen. ich muß alle Elemente (nicht nur das Erste) haben. Das ging QuicknDirty: Copy-Paste eingefügt und hab dann ja auch geschrieben bspw.

    Dank dir trotzdem!
    Probleme sind da um gelöst zu werden!

    If only you and dead people can read HEX, how many people can read it.

    57006


  6. #5
    Hat hier eine Zweitwohnung Avatar von AbRaXaS
    Registriert seit
    23.08.2006
    Ort
    Vechta
    Beiträge
    1.176
    Bedankte sich
    34
    Erhielt 152 Danksagungen
    in 148 Beiträgen

    Standard

    Vllt. kan mir jetzt doch jemand helfen, evtl. ja ecomeback

    Ich möchte aus dem Array, welches aus vier Elementen besteht eines entfernen, dessen index ich schon habe, und an den Anfang des Arrays setzen.

    Sinn und Zweck: Es geht um Meldungen. Einerseits gibt es die mit Bild und andererseits auch ohne. Jetzt möchte ich mit dieser "Sortierung" des Arrays sicherstellen, dass das Element mit Bild am Anfang steht. Man sehe sich die Screenshots an. Wo das Bild oben steht, da will ich hin, das andere ist der Ist-Zustand, wobei es auch sein kann, das das Bild an zweiter Stelle steht.
    Angehängte Grafiken
    Probleme sind da um gelöst zu werden!

    If only you and dead people can read HEX, how many people can read it.

    57006


  7. #6
    Hat hier eine Zweitwohnung Avatar von AbRaXaS
    Registriert seit
    23.08.2006
    Ort
    Vechta
    Beiträge
    1.176
    Bedankte sich
    34
    Erhielt 152 Danksagungen
    in 148 Beiträgen

    Standard

    Die Lösung war einfacher und ich brauchte den folgenden Code nicht mehr, aber ich poste es trotzdem:

    PHP-Code:
    echo 'Das Original: <pre>'.var_export($rows,TRUE).'</pre>';

    $fund = -;
    foreach(
    $rows as $index => $obj){
        if(!empty(
    $obj->images)) {
            
    $fund $index
            break; 
        }
    }

        if(
    $fund >= 0){
            
    $temp $rows[$fund];
            unset(
    $rows[$fund]);
            
    array_unshift($rows,$temp);
            echo 
    'Das Neue: <pre>'.var_export($rows,TRUE).'</pre>';
        } 
        else{ 
            echo 
    'kein Bild gefunden';
            ;
        } 
    Es handelt sich dabei um eine Vertauschung. In den Ergebnissen die in $rows stehen wird nach einem Bild gesucht. Wenn es gefunden wird und das aktuelleste ist, dann wird das Array neu sortiert und der Eintrag mit dem Bild an die erste Stelle des Arrays gesetzt mit
    PHP-Code:
    array_unshift() 
    Probleme sind da um gelöst zu werden!

    If only you and dead people can read HEX, how many people can read it.

    57006


  8. #7
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Es empfiehlt sich so etwas in eine Funktion auszulagern und per array_map zu durchlaufen.

    Gruß
    ec

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein