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 langage des Templiers de brindilles, nous pouvons vérifier si une variable ou la propriété d'un objet existe simplement en utilisant une déclaration  if , comme ceci:  
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
 mais comment vérifier si une clé d'un  tableau   existe en utilisant 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
As une des principales façons de passer des données dans un modèle est d'utiliser des tableaux, il semble qu'il devrait y avoir un moyen de le faire. Toutes les pensées?
53
                
            
                demandé sur
                dreftymac
                2012-11-28 18:21:33
            
        3 réponses
exemple de brindille:
{% if array.key is defined %}
  // do something
{% else %}
  // do something else
{% endif %}
135
	                    
	                
	                    répondu
	                    phpisuber01
	                    2012-11-28 14:29:20
	                
	              vous pouvez utiliser la  keys  fonction de brindille  
  {% if myVar in someOtherArray|keys %}   
13
	                    
	                
	                    répondu
	                    Samir Patel
	                    2017-01-23 21:23:06
	                
	            Quick Answer (TL;DR)
- DeveloperTLindel veut tester l'existence de la clé de réseau dans la brindille.
- DeveloperTLindel veut détecter toute erreur associée à une clé non définie.
-  peut être manipulé en utilisant le filtre default.
Réponse Détaillée
contexte
- Twig 2.x (dernière version en date du Mer) 2017-03-08)
-   Utilisation générale du filtre default.
problème
- scénario:
- DeveloperTLindel veut tester l'existence de la clé de tableau dans la brindille.
- DeveloperTLindel veut éviter toute erreur ou Exception causée par une clé potentiellement non définie.
Solution
-  DeveloperTLindel peut utiliser le filtre default.
-   le filtre  defaultcapte toutes les exceptions dues à une variable non définie, et permet une substitution de court-circuit d'une valeur alternative.
-  le filtre defaultest raccordable.
Example01
{#- ****************************************
  testing for a single key in associative array
  -#} 
  {%- set mystring = myarray['key-no-existo'] |default('__BLANK__')  -%}
{#- ****************************************
  testing for a multiple keys in associative array
  -#} 
  {%- set mystring = myarray['alpha']
        |default(myarray['bravo'])
        |default(myarray['charlie'])
        |default('__BLANK__')
        -%}
  
  Voir aussi
1
	                    
	                
	                    répondu
	                    dreftymac
	                    2017-05-23 12:10:32