Gå til innhold

Array av emner - hvordan hente ut objektegenskaper


Anbefalte innlegg

Videoannonse
Annonse

Google kan ikke hjelpe meg. Jeg har en array av Emner, men ingen måte å få hentet ut emnet som ligger i array-key. Tips for å dytte meg i riktig retning?

Dette er mitt spede forsøk:


foreach($all as $key=>$value){
$s = (object)$all[$key];

print "<pre>";
print_r($s->get('infotermin'));
print "</pre>";

Her får jeg feilmelding at stdclass har ingen funksjon som heter get (og det har den trolig ikke). Jeg forsøkte å caste til Syllabus, men da hyler compiler.

Lenke til kommentar

Ikke sikker på om jeg egentlig forstår problemet her, men jeg tror kanskje dette er hva du ser etter:

foreach($all as $key => $value) {
    $s = $value['infotermin'];
    echo '<pre>', $s, '</pre>;
}

eller

foreach($all as $key => $value) {
    $s = $value->infotermin;
    echo '<pre>', $s, '</pre>;
}

Avhenger litt av $value objektet. Kan du gi et eksempel?

Lenke til kommentar

Her får jeg feilmelding at stdclass har ingen funksjon som heter get (og det har den trolig ikke).

Du kan sjekke hvilke metoder ett objekt har med method_exists(). Skal du hente ut verdier fra ett objekt så må det enten har getter metoder, egenskapene være public eller magic method __get() må være brukt og tillate å hente den egenskapen du spesifiserer.

 

Å ta i bruk en debugger (f.eks. xdebug, og en editor/ide som kan ta i bruk dette) er veldig nyttig, da kan du sette breakpoints i koden og enkelt se hva hver forekomst i array'en består av (pluss andre ting). Da slipper man å bruke print_r() og skrive annen debugging kode.

Endret av Crowly
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...