Dans Twig, vérifiez si la clé d'un tableau existe
En PHP, nous pouvons vérifier si une clé existe dans un tableau en utilisant la fonction array_key_exists()
.
Dans le template Twig langue, nous pouvons vérifier si une variable ou une propriété de l'objet n'existe simplement en utilisant une if
déclaration, comme ceci:
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
Mais comment pouvons-nous vérifier si une clé d'un tableau existe utilisation de Twig? J'ai essayé {% if array.key %}
, mais il me donne une erreur:
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
Comme l'un des principaux moyens de transmission de données dans un modèle est à l'aide de tableaux, il semble que il doit y avoir un moyen de le faire. Toutes les pensées?
- Twig est juste un moteur de template. Vous savez il droit?
- Vous pouvez utiliser "attribut" de la fonction: twig.sensiolabs.org/doc/functions/attribute.html {% si l'attribut(tableau, key) est défini %} // faire quelque chose {% endif %}
- Vous devriez ajouter que comme une réponse, comme cela semble être le seul moyen de vérifier une clé qui n'est pas un seul mot, comme
data-value
.
Vous devez vous connecter pour publier un commentaire.
Twig exemple:
{% if array.key %}
? Quel est le problème avec elle? En JS il est tout à fait valide déclaration, mais pas dans Twig!{% if array.key %}
est valide, mais c'est la syntaxe pour vérifier si la clé du tableau est vide. twig.sensiolabs.org/doc/tags/if.html#if{% if array[ key ] %}
ou{% if array[ key ] is defined %}
.array.key
tente d'accéder à l'index " clé " dans le tableau.Vous pouvez utiliser le
keys
twig fonction{% if myVar in someOtherArray|keys %}
Réponse rapide (TL;DR)
default
filtre.Réponse Détaillée
Contexte
default
filtre.Problème
Solution
default
filtre.default
filtre attrape toutes les exceptions en raison de undefined variable, et permet de court-circuit substition d'une autre valeur.default
filtre est chainable.Example01
Voir aussi