Generer tableau php

Fermé
alphon5o - 13 avril 2011 à 11:04
 alphon5o - 1 juin 2011 à 15:49
Bonjour,
je dispose en entrée un tableau multi-dimensionnel en php comme celui-ci :
http://imagik.fr/view-rl/400216 voici une capture . je souhaite en partant de ce tableau générer pour chaque tab[i] ( a partir de i = 1) des tableaux qui contienne le même préfixe: c'est a dire dans ce exple ( voir sur le lien)

pour i = 0: ici on recopie simplement tab[0]
   tab_premier_nivo = {1, .... , 12}


pour i = 1
   tab_pref_1 = {1.1, .... , 1.7}
   tab_pref_4 = {4.1, ... , 4.17}
   tab_pref_10 = {10.1, ... , 10.8}


pour i = 2
   tab_pref_1_10 = {1.10.1, .... , 1.10.5}
   tab_pref_4_11 = {4.11.1, ... , 4.11.3}
   tab_pref_10_12 = {10.12.1, ... , 10.12.9}


....
....
....

Une fois ces tableau générer; je doit pouvoir dire pour chaque tableau générer quelle est dans tab[i-1] l'element qui est le parent du tableau courant: concretement si je prend
tab_pref_10_12, il est le fils de tab_pref_10[k][j] ( par exple 10.3 ).

voici la ou j'en suis pour l'instant:

$k=0;
while($k < $nivo ){
	if($k === 0){
                $_tab_premier_nivo = "";
		for( $ind = 0; $ind < count($_myTabGlobal[$k]); $ind++ ){
			for( $jnd = 0; $jnd < count($_myTabGlobal[$k][$ind]); $jnd++ ){
				$_tab_premier_nivo[$ind][$jnd] = $_myTabGlobal[$k][$ind][$jnd];	
			}
		}
	}
	else{
                $_tab_pref_.$k. = "";

		for( $ind = 0; $ind < count($_myTabGlobal[$k]); $ind++ ){

			$temp = explode('.', $_myTabGlobal[$k][$flag][0]);
			
			$aux = explode('.',$_myTabGlobal[$k][$ind][0]);
			if( $temp[0] === $aux[0] ){// tant kil ont mm prefixe je le met dans mm tab
				
				for( $jnd = 0; $jnd < count($_myTabGlobal[$k][$ind]); $jnd++ ){

					$_tab_pref_.$k.[$ind][$jnd] = $_myTabGlobal[$k][$ind][$jnd];
				}
				
			}
			else{ // des k'il n'ont plus mm prefixe il fo un new tab
				$ind -= 1;
			}
		}
	
	}

	$k++;
}


pour l'instant ça ne marche mais peut être que vous pouvez m'aider dans ce sens ou si vous avez carrement d'autre approche merci de me les faires partager.

A voir également:

1 réponse

resolu
0