Garreth Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 Hei. Jeg prøver å hente ut informasjon fra et array, men jeg klarer ikke å hente ut det jeg trenger. Slik ser arrayet ut: Slideshow Object ( [filename] => Array ( [0] => http://domene.no/getfile.php/Bilder/test1.jpg [1] => http://domene.no/getfile.php/Bilder/test2.jpg [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [counter] => 2 [is_splittet] => 1 [ultmaxslides] => 50 [id:protected] => 353 [info] => Array ( [templine_type] => 7 [article_templine_ID] => 19 [programmaticname] => bilder [programmaticgroup] => main [article_data_ID] => 353 [data] => __FILEID_URL__::585::|__FILEID_URL__::589:: [article_info_ID] => 277 [data2] => default [data3] => [data4] => 10 [data5] => 0 ) [error:protected] => [revisionMode:protected] => [_baseErrorString] => [_baseHasError] => [_baseErrorType] => ) Jeg vil gjerne hente ut filnavnet til hvert bilde. Jeg prøvde med denne koden: foreach($array as $key => $value) { echo "<p><b>$key</b> - $value</p>\n"; } Men outputen blir: filename - Array counter - 2 is_splittet - 1 ultmaxslides - 50 info - Array _baseErrorString - _baseHasError - _baseErrorType - Hva må jeg gjøre for å hente filnavene som ligger i arrayet? Lenke til kommentar
kakkle Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 (endret) Bruk is_array til å sjekke om verdien er et array. Dersom den er det, så looper du igjennom det nye arrayet med en ny foreach løkke. Endret 19. oktober 2007 av kakkle Lenke til kommentar
Garreth Skrevet 19. oktober 2007 Forfatter Rapporter Del Skrevet 19. oktober 2007 (endret) Har dessverre ikke så god peiling på php, men hva vil is_array hjelpe egentlig? Jeg får jo ut at det er at array, eller? Jeg trenger ikke kode for å sjekke om det er et array eller ikke, jeg vil gjerne hente ut filnavnene til bildene som er listet opp i arrayet. Men om is_array kan hjelpe meg med det, hadde det vært fint om du kunne gitt et eksempel. edit: skrivefeil Endret 19. oktober 2007 av Garreth Lenke til kommentar
Ståle Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 utestet foreach($array as $key => $value) { if( is_array( $value ) ) { foreach($value as $key1 => $value1) { echo "<p><b>$key1</b> - $value1</p>\n"; } else echo "<p><b>$key</b> - $value</p>\n"; } Lenke til kommentar
Garreth Skrevet 19. oktober 2007 Forfatter Rapporter Del Skrevet 19. oktober 2007 (endret) Yes, det ser ut som det virket! Med denne koden: foreach($array as $key => $value){ if(is_array($value)){ foreach($value as $key1 => $value1) { echo "<p><b>$key1</b> - $value1</p>\n"; } } } Får jeg ut dette: 0 - http://domene.no/getfile.php/Bilder/test1.jpg 1 - http://domene.no/getfile.php/Bilder/test2.jpg 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - templine_type - 7 article_templine_ID - 19 programmaticname - bilder programmaticgroup - main article_data_ID - 353 data - __FILEID_URL__::585::|__FILEID_URL__::589:: article_info_ID - 277 data2 - default data3 - data4 - 10 data5 - 0 Hvordan spesifiserer jeg at jeg kun vil hente ut filnavnene? Endret 19. oktober 2007 av Garreth Lenke til kommentar
Ståle Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 koden er da helt riktig. Men hvis du vet at filnavnene alltid er der de burde vaere. kan du bruke denne $array = $array['filename']; foreach( $array as $key => $value ) { if( !empty( $value ) ) echo $value; } Lenke til kommentar
Gjest Slettet+142 Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 (endret) <?php function print_arr($array, $i=0){ if(is_array($array)){ if($i > 0) echo "<b><i>Array med ".count($array)." elementer:</i></b><br>\n"; $k = 0; foreach($array as $key => $value){ $k++; echo str_repeat("--> ", $i) . "[<b>{$key}</b>]" . ' '; print_arr($value, $i+1); if($k != count($array)) echo "<br>\n"; } }else echo $array; } $array = array("test"=>"test", "to" => array("en", "to"), "tre"=>array("en", "to", "tre"=>array("en", "to", "tre"))); print_arr($array); ?> Vil denne virke, kanskje? edit: lite nl-bug Endret 19. oktober 2007 av Slettet+142 Lenke til kommentar
Garreth Skrevet 19. oktober 2007 Forfatter Rapporter Del Skrevet 19. oktober 2007 Med din kode ståle så får jeg Fatal error, om at det ikke er mulig å bruke array-et slik. Mariyo: Din kode gir meg dette: [test] test [to] Array med 2 elementer: --> [0] en --> [1] to Jeg vil altså kun ha filnavnene som finnes i arrayet: http://domene.no/getfile.php/Bilder/test1.jpg http://domene.no/getfile.php/Bilder/test2.jpg Slik at jeg kan putte dem inn i <img scr="$FilNavn"> å få ut bilder. (Enkelt forklart) Lenke til kommentar
Gjest Slettet+142 Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 (endret) URLer eller filnavn generelt? Og hvilke filtyper? Endret 19. oktober 2007 av Slettet+142 Lenke til kommentar
Garreth Skrevet 19. oktober 2007 Forfatter Rapporter Del Skrevet 19. oktober 2007 Som du ser i det arrayet i førsteposten så ligger hele adressen i filnavnet, så jeg trenger ikke å hente ut noe mer enn kun filnavnet. Setter stor pris på at dere orker å hjelpe meg Lenke til kommentar
Gjest Slettet+142 Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 Men da skal jo Ståle sin kode i hans siste post fungere helt fint da? Lenke til kommentar
Garreth Skrevet 19. oktober 2007 Forfatter Rapporter Del Skrevet 19. oktober 2007 Hadde vært supert om den fungerte, men det gjør den ikke (helt sikkert jeg som gjør noe feil!) Prøvde med dette: $slideshowObjects = $elements['5'];//Henter hele arrayet $array= $slideshowObjects['filename']; foreach( $array as $key => $value ) { echo $value; } Da får jeg erroren: Fatal error: Cannot use object of type Slideshow as array in /home/projects/domene.no/template.php on line 3 Uansett hva jeg putter inn på linje 3 så får jeg en error. Lenke til kommentar
Ståle Skrevet 19. oktober 2007 Rapporter Del Skrevet 19. oktober 2007 prov med foreach( $array['filename'] as $key => $value ) { echo $value; } istedenfor Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå