Gå til innhold

Hente ut informasjon fra array


Anbefalte innlegg

Skrevet

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?

Videoannonse
Annonse
Skrevet (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 av kakkle
Skrevet (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 av Garreth
Skrevet

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";

}

Skrevet (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 av Garreth
Skrevet

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;

}

Gjest Slettet+142
Skrevet (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 av Slettet+142
Skrevet

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)

Gjest Slettet+142
Skrevet (endret)

URLer eller filnavn generelt?

Og hvilke filtyper?

Endret av Slettet+142
Skrevet

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 :)

Gjest Slettet+142
Skrevet

Men da skal jo Ståle sin kode i hans siste post fungere helt fint da?

Skrevet

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.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...