2010-07-27 12 views
0

J'utilise Symfony 1.2.7 et Doctrine 1.1. J'ai $activities (sfOutputEscaperIteratorDecorator - Doctrine_Collection). J'échappe à tout sur settings.yml avec la méthode ESC_SPECIALCHARS. Si je n'échappais pas, cela fonctionnerait sans aucun problème, donc je pense que le problème est lié à sfOutputEscaperIteratorDecorator.foreach renvoie plus d'éléments que count()

Si je echo count($activities) il me retourne

-je supprimer plusieurs éléments:

foreach($activities as $key => $a){ 
    if(...){ 
    $activities->remove($key); 
    } 
} 

Alors si je echo count($activities) il me retourne

Cependant quand j'itérer les éléments, j'ai toujours les mêmes 5 éléments:

foreach($activities as $activity){ 
    .. 
} 

Une idée?

merci!

Répondre

1

Essayez ceci:

foreach($activities as $key => $a){ 
    if(...){ 
    unset($activitie[$key]); 
    } 
} 
+0

bien qu'il soit techniquement pas la réponse, il m'a inspiré de prendre une nouvelle approche. Il semble que la collection sfOutputEscaperIteratorDecorator est en lecture seule, donc je ne peux pas supprimer des éléments (bien qu'il semble que son compteur fonctionne d'une manière différente). Ce que je fais maintenant est d'ajouter les éléments à un tableau différent, puis unset() les éléments que je ne veux pas. Merci! – fesja