2

Have problem to display an array in a Twig template.

In mysql I have a text field with value: testtest-testtest2-testtest3

In the controller I explode by '-' and pass it to Twig like so:

$ingred[] = explode('-', $ingreds);
$this->twig->render(['ingred' => $ingred]);

In the Twig template I loop through and it works:

   {% for ing in ingred %}
     <span class="ingridiantai">{{ ing.0 }}</span>
     <span class="ingridiantai">{{ ing.1 }}</span>
     <span class="ingridiantai">{{ ing.2 }}</span>
     <span class="ingridiantai">{{ ing.3 }}</span>
     <span class="ingridiantai">{{ ing.4 }}</span>
     <span class="ingridiantai">{{ ing.5 }}</span> 
   {% endfor %}

But what I want is to loop through all values without writing their key. Like this:

   {% for ing in ingred %}
     <span class="ingridiantai">{{ ing }}</span> 
   {% endfor %}

How can I do what? I was searching in the docs, but didn't find anything that would work for me.

1 Answer 1

4

Using [] adds an element to an array and explode also creates an array. So now you have a 2-dimensional array.

Simply change the code in your controller to

$ingred = explode('-', $ingreds);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.