begin process at 2012 05 31 11:28:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Trouver le noeud parent dans un tableau mutlidimentionnel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trouver le noeud parent dans un tableau mutlidimentionnel

jeudi 28 avril 2011 à 15:34:54 | Trouver le noeud parent dans un tableau mutlidimentionnel

mdc888

Hello :)

Je me trouve devant un problème assez bête, mais que j'ai du mal à résoudre...
J'ai un tableau multidimentionnel, du style :

<?php

$arr = array(
'arr1'=> array(
'val1',
'val2'
),
'arr2'=> array(
'val3',
'val4'
)
)

?>

Ce que je voudrais, c'est que lorsque ma valeur courante est par exemple val2, j'aimerai connaitre quel est le "n½ud" parent (ici arr1).
Une piste que j'ai trouvée serait d'utiliser prev, via une boucle, jusqu'à trouver un array. Mais ca me semble un peu lourd...

Des idées ?

Merci !!!
jeudi 28 avril 2011 à 20:39:59 | Re : Trouver le noeud parent dans un tableau mutlidimentionnel

mdc888

Voici une 1ere utilisation qui fonctionne :

Code PHP :
$trouver = 0;
foreach( $Menu as $Key => $Value ) {
	
	foreach( $Menu[$Key] as $Key2 => $Value2 ) {
	
		if( !$trouver && $Key2 == 'what-is-the-grid' ) {
			$trouver=1;
			
			prev($Menu);
			
			print_r (current($Menu));
			
			$parent = (key($Menu));
			
			break;
		}
	
	}
	
	if( $trouver ) 
		break;
	
}


C'est pas très optimisé, et ca ne gère qu'un niveau (j'en ai jusqu'à deux), mais c'est mieux que rien...

Si vous avez un conseil, n'hésitez pas !
jeudi 28 avril 2011 à 21:43:02 | Re : Trouver le noeud parent dans un tableau mutlidimentionnel

cod57

bonsoir

du manuel
http://www.php.net/manual/en/function.prev.php
peu etre ça en obligeant l'arret apres une iteration

<?php

end($ar);

while ( !is_null($key = key($ar)) ) {
$val = current($ar);
echo "{$key} => {$val}\n";
prev($ar);
}

?>

Bonne programmation !
vendredi 29 avril 2011 à 09:31:46 | Re : Trouver le noeud parent dans un tableau mutlidimentionnel

mdc888

Hello !

Merci pour ton exemple. Effectivement, c'est une manière intéressante de parcourir le tableau...

J'ai trouvé une solution qui fonctionne, reste maintenant à l'optimiser. Car en fonction du nombre de niveaux, ca peut vite demander des ressources !

++ ;)


Cette discussion est classée dans : trouver, tableau, array, parent, noeud


Répondre à ce message

Sujets en rapport avec ce message

tri tableau 2 dimensions [ par lebobby ] Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=>"23", "c" => "rge", "date" =>'2002-08-03 12:00:00');$ta [MySQL] Sauvegarde d'un tableau dans une table [ par cedvoyage ] Bonjour,J'aimerais sauvegarder un tableau (multimensionnel) dans ma base MySQL.Or quand j'essaye je n'ai que 'Array' de marquer dans le champ de ma ta Récupérer les données d'un fichier xml [ par iomega ] Bonjour à tousJe voudrai récupérer la valeur qui se trouvent dans une sous catégorie de la balise ET ENFIN LA VALEUR QUE JE VEUX EXTRAIREmerci de vot probleme array tableau [ par guiguipumpkin ] bonjour,je ne trouve pas la fonction php qui permet de supprimer un element d'un tableau array, suivant un indice iun peu comme array_shift mais en po Tableau (array) (pour les pros du PHP) [ par jockos ] Bonjour,J'ai 2 questions très techniques auxquel je n'ai trouvé AUCUNE réponse sur les nombreux sites et manuels PHP.Est-ce que les élements d'un tabl Fonction callback et classes [ par malalam ] Salut :-)J'ai un petit soucis : je veux utiliser array_filter() dans une fonction membre d'une classe.J'ai defini ma fonction callback dans cette meme comparer array et requête [ par alecto ] Bonjour à tous et merci d'avance pour ceux qui pourront m'aider, voici mon pb :  <?xml:namespace prefix = o ns Tri multi-dimensionnel [ par Aline77 ] Bonjour,J'ai un tableau :Array(    [10900] => Array        (            [nom] => Aline   &nbs serialisation d'un tableau [ par lingwae ] help, $annoncesSelectionnee = array(); array_push($annoncesSelectionnee, $_GET['idannonce']); $_SESSION['annoncesSelectionnee'] = serialize($annonces incrementation difficile [ par charly25 ] bonjou ou bonsoir (je suis plus tres sur...)j'essaye actuellement de lier des menus deroulants (la selection dans l'un agit sur l'autre et vice versa)


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales