Probleme valeur de retour fonction php

Résolu
dharth Messages postés 145 Statut Membre -  
dharth Messages postés 145 Statut Membre -
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. dharth Messages postés 145 Statut Membre 13
     
    c'est peut être a cause de la récursion ?
    0
  2. dharth Messages postés 145 Statut Membre 13
     
    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