Probleme valeur de retour fonction php

Résolu/Fermé
dharth Messages postés 140 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 août 2012 - 12 oct. 2011 à 09:58
dharth Messages postés 140 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 août 2012 - 12 oct. 2011 à 11:41
Bonjour,

Je suis en train de faire une fonction de tri de tableau en fonction d'une chaine. Ma fonction marche tres bien, cependant impossible de recuperer le tableau dans la fonction qui apelle celle de tri.

- a la fin de ma fonction de tri j'ai bien un return($res);

- Si j'affiche ce tableau juste avant de le retourner aucun soucis

- si je l'affiche dans la fonction appelante il m'affiche rien.

je poste le code:

function main($tab)
{
 $res = sort_by_name($tab);

print_r($res);
}

function sort_by_name($tab)
{
	$c		=	(int)0;
	$res	        =	array();
	$change   =	(int)0;
	
	while ($tab[$c] != NULL)
	{
		if ($tab[$c+1] == NULL)
		{
			$res[$c] = $tab[$c];
			$c++;
			break;
		}
		if (cmp_word($tab[$c], $tab[$c+1]) != 0)
		{
			$res[$c] = $tab[$c+1];
			$res[$c+1] = $tab[$c];
			$change = 1;
		}
		else
		{
			$res[$c] = $tab[$c];
			$res[$c+1] = $tab[$c+1];
		}
		$c += 2;
	}
	$res[$c] = NULL;
	if ($change == 1)
		sort_by_name($res);
	else
		return ($res);
}
A voir également:

2 réponses

dharth Messages postés 140 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 août 2012 13
12 oct. 2011 à 09:59
c'est peut être a cause de la récursion ?
0
dharth Messages postés 140 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 août 2012 13
12 oct. 2011 à 11:41
le probleme est regle, il suffisait juste que je fasse un
return(sort_by_name($res));

au lieu de l'appel simple de la fonction
sort_by_name($res);
0