Probleme valeur de retour fonction php

Résolu
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);
}

2 réponses

  1. c'est peut être a cause de la récursion ?
    0
    1. 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