8768 sujets

Développement web côté serveur, CMS

Hello,

j'ai un tableau mais je n'arrive pas à le parcourir, ça à l'air tout con dit comme ça.. Smiley plante

résultat d'un var_dump(array_key($monTableau));
array(6) { [0]=> string(13) "firstElement" }


résultat d'un var_dump($monTableau[0]);
NULL


En sachant que le contenu des cellules je ne les connais pas.

EDIT :
Foreach ne fonctionne pas vraiment, parce que mon tableau est un tableau imbriqué dynamique, tableau[x][x] donc sur un foreach le premiere element n'est plus présent car on parcours directement le deuxième niveau.
Modifié par JENCAL (22 Dec 2015 - 11:04)
Salut, avec ceci qu'obtiens tu?

foreach($monTableau AS $firstKey => $SecondArray)
	{
	var_dump('First key: '.$firstkey);
	foreach($SecondArray AS $SecondKey => $SecondArrayContent)
		{
		var_dump('Second key: '.$SecondKey);
		var_dump('Second Array Content: '.$SecondArrayContent);
		}
	}


Edit: Pardon, je viens de relire ton message, et d'après ce que tu écris, en fait ton tableau est à simple dimension.

Peux tu faire un simple var_dump($monTableau); stp ?
Modifié par Super_baloo8 (22 Dec 2015 - 11:38)
Avec le vardump simple j'ai ceci


array(6) { ["firstElement"]=> array(5) { 
["attributes"]=> array(1) { 
["class"]=> array(3) { 
[0]=> string(8) "blabalbal"
 [1]=> string(12) "blabalbal" 
[2]=> string(19) "blabalbal" 
} 
} 
["item_attributes"]=> array(3) { 
["id"]=> string(0) ""
 ["class"]=> string(0) "" 
["style"]=> string(0) "" 
}
 ["content"]=> array(1) { 
["theme"]=> string(4) "blabalbal"
 } 
["href"]=> string(7) "blabalbal" 
["title"]=> string(7) "blabalbal" 
}
["SecondElement"]=> array(5) 
etc......


j'ai mis blabalbal partout c'est normal. cela n'impact rien.

avec ton code :


string(11) "First key: " 
string(22) "Second key: attributes" 
string(27) "Second Array Content: Array" 
string(27) "Second key: item_attributes" 
string(27) "Second Array Content: Array" 
string(19) "Second key: content" 
string(27) "Second Array Content: Array" 
string(16) "Second key: href" 
string(29) "Second Array Content: accueil"
 string(17) "Second key: title" 
string(29) "Second Array Content: Accueil" 
string(11) "First key: "  etc...
string(17)



Désolé pour l'indentation mais le résultat me revient sur une seul ligne :s
Modifié par JENCAL (22 Dec 2015 - 11:56)
Merci pour les dumps, alors ton array est plus complexe que ce que tu donnais.


["firstElement"]=> array(5) { 
	["attributes"]=> array(1) { 
		["class"]=> array(3) { 
			[0]=> string(8) "blabalbal"
			[1]=> string(12) "blabalbal" 
			[2]=> string(19) "blabalbal" 
		} 
	} 
	["item_attributes"]=> array(3) { 
		["id"]=> string(0) ""
		["class"]=> string(0) "" 
		["style"]=> string(0) "" 
	}
	["content"]=> array(1) { 
		["theme"]=> string(4) "blabalbal"
	} 
	["href"]=> string(7) "blabalbal" 
	["title"]=> string(7) "blabalbal" 
}


Donc il faudrait savoir ce que tu as besoin de récupérer exactement ...

Car en fait, ton tableau doit être traité comme un "objet":


foreach($monTableau As $Array)
	{
	foreach($Array["attributes"]["class"] As $ClassElem)
		{
		var_dump('Class Elem', $ClassElem);
		}
	foreach($Array["item_attributes"] As $ItemKey => $ItemValue)
		{
		var_dump(('ItemKey', $ItemKey, 'Item Value', $ItemValue);
		}
	foreach($Array["content"] As $ItemKey => $ItemValue)
		{
		var_dump(('ItemKey', $ItemKey, 'Item Value', $ItemValue);
		}
	var_dump('Href', $Array["href"], 'Title', $Array["title"]);
	}
hmmmm ok je vois.. merci bien

Ce que je cherche à récupérer c'est le string "firstElement" . Pour le reste c'est super, j'avais déjà mon bout de cote, + le tiens maintenant tout roule. Le seul problème maintenant est de récupérer ce string "firstElement"
Modifié par JENCAL (22 Dec 2015 - 12:16)
Alors avec ceci:

foreach($monTableau As $ArrayKey => $Array)
	{
var_dump('ArrayKey', $ArrayKey);
	foreach($Array["attributes"]["class"] As $ClassElem)
		{
		var_dump('Class Elem', $ClassElem);
		}
	foreach($Array["item_attributes"] As $ItemKey => $ItemValue)
		{
		var_dump(('ItemKey', $ItemKey, 'Item Value', $ItemValue);
		}
	foreach($Array["content"] As $ItemKey => $ItemValue)
		{
		var_dump(('ItemKey', $ItemKey, 'Item Value', $ItemValue);
		}
	var_dump('Href', $Array["href"], 'Title', $Array["title"]);
	}