|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Bonjour à tous,
Le post est un peu long, mais le problème est simple. Soit le tableau multidimensionnel suivant : Code php :
Il contient deux Array : le premier [categorie] et le second [articles]. Celui qui nous intéresse ici est [articles] Le but est le suivant : si la valeur de la case ['desrip_article'] fait plus de 75 caractères, je veux couper cette valeur et ajouter '...' Exemple à plus petite échelle : Remplacer Il fait très beau ajourd'hui par Il fait très... Pour arriver à mes fins, je parcours [articles] dans un foreach, et je tronque si la longueur est trop grande : Code php :
Vous aurez remarqués le & devant &$article. Je l'utilise pour modifier directement mon tableau. Sans lui, la modification ne s'effectue pas. Après ce foreach, si je fais un print_r de mon tableau, les descriptions d'articles sont bien tronquées. Jusqu'ici tout va bien. Puis le problème étrange arrive... En effet lorsque je veux afficher mes articles, je reparcours mon tableau avec un foreach. Tout s'affiche correctement, sauf que l'avant dernier article du tableau est répété deux fois, et le dernier article n'apparaît pas (alors qu'il est bien là dans le print_r ! ) Pour illustrer, admettons que l'on ait 4 articles A, B, C et D Le foreach d'affichage affiche A B C C (deux fois C) L'article étant bien là quand je fais un print_r, je ne comprends vraiment pas pourquoi le deuxième foreach ne "prend" pas cet article et répète 2 fois l'avant-dernier. Le code de l'affichage, tout bêtement : Code php :
Un autre constat, si je tente d'afficher le contenu du tableau avec un & devant $article, tous les articles apparaissent bien. Alors, pourquoi le & est-il nécessaire dans le deuxième foreach, alors que je n'ai pas besoin d'accéder aux valeurs du tableau par référence ? |
||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 835 ![]() |
Je ne vois pas pourquoi tu aurais un tel comportement
Si tu veux un regard neuf sur le souci colle un script minimaliste et fonctionnel afin qu'on puisse reproduire le bug et faire des tests.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#3 | |||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 835 ![]() |
Je reviens après qques recherche...
Apparemment c'est un comportement normal. Explications trouvées ici : http://bugs.php.net/bug.php?id=29992 Citation:
=> Tout est normal Outre la solution proposée dans la citation collée, tu peux aussi modifier ton tableau en y accédant de la sorte : Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Merci beaucoup pour ces deux réponses.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com