9
votes

Obtenir la valeur comptez dans un tableau avec Smarty

J'ai un tableau appelé $ mydata qui ressemble à ceci: xxx

J'ai attribué le tableau à Smarty $ smarty-> Attribuer ( "Résultats", $ myData)

Maintenant, dans le modèle, j'ai besoin d'imprimer la quantité de "type" de chaque "type" dans le tableau. Quelqu'un peut-il m'aider à faire cela?


2 commentaires

Y aura-t-il toujours un index pour type dans chaque élément de la matrice? Et voulez-vous compter tous ou simplement ceux avec une valeur supérieure à zéro?


Oui, il y aura. Et les valeurs sont toujours supérieures à zéro.


3 Réponses :


19
votes

Avez-vous essayé cela ?:

{$mydata|@count}


4 commentaires

Cela a fonctionné pour moi ... mais quelle est la différence entre | comptage et | @Count


@Poonam Bhatt, je ne sais vraiment pas, quand j'ai répondu à cette question, je faisais juste des recherches, codé quelques lignes et figurait cela, et cela était il y a longtemps


@Poonambhatt Quote: Le "@" applique le modificateur directement sur la matrice au lieu de chaque élément individuel. Voir: FAQ Smarty


Donc, pour travailler comme prévu, devrait utiliser @Count pour compter un tableau ... merci.



22
votes

PHP 5.3, 5.4: strong>

AS de Smarty 3 Vous pouvez faire P>

{$type_count = array_count_values(array_column($mydata, 'type'))}
Count of type 2: {$type_count['2']}


1 commentaires

J'ai Smarty 3, mais comment puis-je obtenir les différents nombres de "type" de {comte ($ mydata)}?



5
votes

Vous pouvez également utiliser: xxx


0 commentaires