Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Twig, check if a specific key of an array exists

In PHP we can check if a key exists in an array by using the function array_key_exists().

In the Twig templating language we can check if an variable or an object's property exists simply by using an if statement, like this:

{% if app.user %} do something here {% else %} do something else {% endif %} 

But how do we check if a key of an array exists using Twig? I tried {% if array.key %}, but it gives me an error:

Key "key" for array with keys "0, 1, 2, 3...648" does not exist 

As one of the primary ways of passing data into a template is using arrays, it seems like there should be some way of doing this. Any thoughts?

like image 327
user852610 Avatar asked Nov 28 '12 14:11

user852610


People also ask

How do you check if a key is in an array?

The array_key_exists() function checks an array for a specified key, and returns true if the key exists and false if the key does not exist.

How do you match an array key?

The array_intersect_key() function compares the keys of two (or more) arrays, and returns the matches. This function compares the keys of two or more arrays, and return an array that contains the entries from array1 that are present in array2, array3, etc.


2 Answers

Twig example:

{% if array.key is defined %}   // do something {% else %}   // do something else {% endif %} 
like image 184
phpisuber01 Avatar answered Sep 19 '22 12:09

phpisuber01


You can use the keys twig function

{% if myVar in someOtherArray|keys %}

like image 25
Samir Patel Avatar answered Sep 18 '22 12:09

Samir Patel