salut je cherche à ecrire une fonction prenant deuw varaibles a et b en parametre et qui permutera leur valeurs mais je seche un peu…
<html?>
<head>
<title>swap</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<? function permutation($a,$b) { switch ($a ,$b)
case (($a=$x) &&($b=$y)) echo "avant permutation".$a."=".$x."et".b."=".$y;
break;
case (($b=$x)&&($a=$y)) echo "après permutation".$b."=".$x."et".$a."=".$y;
break;
}
?>
<?
$a="a";
$b="b";
$x=9;
$y=8;
permutation ();
?>
</body>
</html?>
pourriez vous m’aiguiller? …
Heu je comprends pas
tu veux permutter deux variables mais tu en initialise 4 ?
et tu mets aucun paramètre à ta fonction ?
Plusieurs trucs :
- <? c’est mal , <?php c’est bien (portabilité : ma machine refuse <?, et d’autres aussi, dans le monde, genre tout ce qui tourne sous php5)
-
http://fr.php.net/manual/fr/language.functions.php (ça peut être plus qu’utile)
- pour faire une permutation, il faut passer les valeurs par références, et non par copie (rappel : en php4 tout est passé par copie, même les objets)
Donc :
function swap(&$a, &$b) {
$c = $b;
$b = $a;
$a = $c;
}
Et par la suite :
$x = 1;
$y = 2;
echo 'x = ', $x, ', y = ', $y, "\n";
swap($x, $y);
echo 'x = ', $x, ', y = ', $y, "\n";