multidimensionnel: une boucle ne marche pas

Eléphant du PHP | 135 Messages

13 juil. 2007, 17:43

Bonjour à tous,

Voilà j'ai un problem avec une boucle.
je voudrait transformer un tableau en tableau multidemensionnel.
Mais il s'arrête à la première boucle et ne fait pas la deuxième.
<?php
 function ext2($f){
   		$e= (explode('.', $f));
   		return $e[0];
   		}
		
		
$viewall= array ( 0 => 'D6342.nef' ,
				'premier' => 'D6342.tif' ,
				1 => 'D6342A1.jpg' ,
				2 => 'D6342A2.jpg' ,
				3 => 'D6343.nef' ,
				'deuxième' => 'D6343.tif' ,
				4 => 'D6343.xmp' ,
				5 => 'D6343A1.jpg' ,
				6 => 'D6343A2.jpg' );
//----Build Multitab -----------------
$mt=array();
foreach ($viewall as $key=>$val) {
	echo 'foreach___OK-----<br>';
	if (eregi ('[a-z]',$key)) {
			$val=ext2 ($val);// == function qui va supprimer l'extension file.xxx -----
			echo 'OK--ereg---------<br>';
			while (list ($k,$v)=each($viewall)) {
				if (strstr ($v,$val)) {
					$mt[$key][]=$v;
					}

}
}
}
echo '<br>';
print_r ($viewall);
echo '<br>';
print_r ($mt);
?>
Il ya tout le code un petit copié coller et vous verrez tout de suite le problem. premier est bien empilé, mais deuxième va à la trappe.
Je sais pas du tout pourquoi .

Merci d'avance pour vos réponses. :)

David. [/code]
Des noeuds au cerveau!

ViPHP
ViPHP | 5924 Messages

13 juil. 2007, 18:53

Ce n'est pas clair, quel tableau es tu sensé obtenir à l'issue de ton code ?

Eléphant du PHP | 135 Messages

13 juil. 2007, 19:36

édit erreur de manip :?
Modifié en dernier par Davee le 13 juil. 2007, 19:42, modifié 1 fois.
Des noeuds au cerveau!

Eléphant du PHP | 135 Messages

13 juil. 2007, 19:41

Zut , pardon pour la clareté.

Bon je sais pas très bien comment l'expliquer alors je vais y aller brutal.

j'ai une liste de fichier *.tif, *.nef, *.jpg, *.xmp, qui ont le même numéro. Ces fichier sont dans un seul dossier et il peut y en avoir plusieurs séries (variable).

'premier' est une ligne d'une base données.

Je met en relation la ligne 'premier' avec les fichiers qui ont un même numéro ('deuxième est une autre ligne à laquelle je fait correspondre une autre séries de numéro).

Tout ça pour être sure que quand je vais piocher dans le tableau index premier je tombe sur une série de même nom.

premier | D6342.tif
| D6342.nef
| D6342.jpg etc...

deuxième | D6343.tif
| D6343.nef
| D6343.jpg etc...

Le but c'est de de pouvoir facilement manipiler les fichiers et classer les nom dans une BD

Je sais pas si c'est clair.

Merci encore
David.
Des noeuds au cerveau!

ViPHP
ViPHP | 5924 Messages

13 juil. 2007, 21:00

Le plus simple, c'est que tu réorganises tes fichiers, de manière à faire un sous-dossier pour chaque groupe. Parce que là, tu vas te faire chier sinon...

Invité
Invité n'ayant pas de compte PHPfrance

14 juil. 2007, 12:24

peut-être oui en effet.
je vais voir ça.

merci.

David.

Eléphant du PHP | 135 Messages

14 juil. 2007, 12:25

zut oublié de me connecter.

David.
Des noeuds au cerveau!