jeromexavier
Messages postés4Date d'inscriptionlundi 12 septembre 2005StatutMembreDernière intervention16 mai 2007
-
16 mai 2007 à 11:20
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 2007
-
16 mai 2007 à 13:11
Bonjour tout le monde !
urgent, ca fait une heure que j'essais de trouver en vain le nom de la fonction PHP qui permet de changer de place la position des valeurs d'un tableau ou alors, la position de la clé !!
quelqu'un pourrait m'aider?
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 16 mai 2007 à 12:28
Salut,
En prenant la solution de J_G, on peut faire ue fonction qui fait ça d'un seul coup :
function array_rotate(&$arr, $reverse=FALSE)
{
if ($reverse == TRUE)
{
return array_push($arr, array_shift($arr));
}
else
{
return array_unshift($arr, array_pop($arr));
}
}
Par défaut, la fonction déplace les éléments vers la fin, en plaçant le dernier au début. Si on passe l'argument $reverse avec la valeur TRUE, ça fait tourner dans l'autre sens.
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 16 mai 2007 à 13:11
Excellente idée neigedhiver !!!
Allons plus loin alors :
function array_rotate ( &$arr, $steps = 1 ) {
$steps = (int)$steps; // Garanti un int
$reverse = ($steps < 0); // Dans quel sens ?
$steps = abs($steps); // $steps devient un compteur
while ( $steps-- ) { // Pour chaque pas, effectuer l'opération
if ( $reverse ) array_push ( $arr, array_shift ( $arr ) )
else array_unshift ( $arr, array_pop ( $arr ) );
}