Navigation dans un array

Répondre
BigZ[SHN]
le 20/07/2010 à 10:16
BigZ[SHN]
Bonjour,

Je suis un peu perdu avec mes Array, malgré les docs PHP.

En gros, j'ai un array contenant des ID de ma BDD.

Par exemple :
<?php
Array ( [0] => 1025 [1] => 2542 [2] => 5443 [3] => 5744 [4] => 5541 )
?>


L'objectif est d'arriver avec l'un des id dans une variable et de demander a l'array de sortir l'ID précédent et le suivant.

Par exemple dans mon cas ci dessus, si j'arrive avec l'ID 2542, j'aimerai qu'il me sorte

Précédent : 1025
Suivant : 5443

Comment puis-je faire cela ?

Merci
dark_nemo
le 20/07/2010 à 11:16
dark_nemo
les tableaux sont assez simple en php.
déjà t'as oublié les virgules entre les éléments de ton tableau et la variable associée à ton tableau
<?php
$mon_tableau = Array ( [0] => 1025, [1] => 2542, [2] => 5443, [3] => 5744, [4] => 5541 );
?>


Ensuite pour accèder à un élément du tableau tu entre simplement sa clé

<?php
echo $tableau[0]; // affiche 1025
echo $tableau[2]; // affiche 5443
?>
dark_nemo
le 20/07/2010 à 11:20
dark_nemo
Tu peux avancé et reculé dans ton tableau avec next($mon_tableau) qui avance le pointeur de 1 et prev($mon_tableau) qui recule le pointeur de 1
BigZ[SHN]
le 20/07/2010 à 11:21
BigZ[SHN]
Hello,

Merci de m'avoir répondu.

Pour mon array, j'avais pas oublié les virgules, ce que j'ai écris c'était juste un print_r($array); mais sur le principe on est d'accord ;-)

Pour la 2ème partie, je sais comment afficher la valeur a partir d'un clé, mon souci c'est vraiment de récupérer la clé depuis une valeur et de me trouver la clé précédente et suivante.

Merci
dark_nemo
le 20/07/2010 à 13:48
dark_nemo
La fonction array_search te retourne la clé correspondant à une valeur donc si tes clés sont ordonnées (0,1,2,3,4...) tu peux facilement trouver la clé précédante et suivante.
BigZ[SHN]
le 20/07/2010 à 13:59
BigZ[SHN]
Merci a vous, j'ai trouvé ma solution, je vous la met au cas ou :

<?php 
// $id etant mon id passé en GET et $ids mon array de ID

$position = array_search($id, $ids);
if ($position !== false) {
echo 'id actuel : '.$position.'<br>';
echo 'Précédent : '.$ids[$position-1];
echo 'Suivant : '.$ids[$position+1];
}

php ?>
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours