Salut à tous,

Je vais peut être poser une question stupide mais je demandais s'il était possible de faire suivre un for d'un foreach pour par exemple afficher les informations d'un articles récupérés dans un objet/tableau mais limiter le nombre de foreach.
C'est à dire si j'ai 10 articles en mettant un for allant de 1 à 5 je vais afficher que 5 articles.
Je pense que ça ne fonctionnera peut être qu'inclure le for dans le foreach permettrait de le faire ?
C'est juste une question comme ça je me doutes bien que faire un limit en SQL est la meilleure solution mais là c'est plus de l'ordre de l'apprentissage en quelques sortes.

4 réponses


Tackacoder
Réponse acceptée

Bonjour,
Dans ton optique,il y a plus simple je pense array_slice
sinon tu as aussi ça comme technique

$i = 1;
foreach($array-articles as $article) {
    if($i <= 5) {
    //Affichage de l'article
    }
    $i++;
}
Xtr3me
Auteur

Oui c'est vrai qu'un test est beaucoup plus simple ^^ .
Pour array_slice c'est bien aussi mais ça doit fonctionner que dans le cas où les index sont des chiffres et non pas dans le cas d'un tableau associatif je pense.
Il faudrait donc transformer les index d'un tableau associatif à l'aide de la fonction array_values()
Ce genre d'astuce ne me servira pas dans l'immédiat mais je préfère connaître quelques astuces pour d'autres cas ^^ .

Merci de ta réponse exothermique.

Pour le array_slice, je crois qu'il fonctionne pour les tableaux associatifs. Après, il faut le tester aussi.

Xtr3me
Auteur

Oui c'est certain c'était juste pour avoir confirmation dans le cas où j'utiliserai ce genre de pratique ^^ .