Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Twig zamiast string pokazuje 0
Forum PHP.pl > Forum > PHP > Frameworki
PawelC
Mam takie elementy w tablicy taxesAmountData,
  1. array:4 [
  2. "netAmount" => 1000.0
  3. "taxRate" => "zw"
  4. "taxAmount" => 0.0
  5. "grossAmount" => 1000.0
  6. ]
  7.  
  8. array:4 [
  9. "netAmount" => 1000.0
  10. "taxRate" => 0
  11. "taxAmount" => 0.0
  12. "grossAmount" => 1000.0
  13. ]


kiedy chce w pętli wyświetlić z nich wartości to dostaję dziwny błąd, tzn zamiast wartości "zw" pokazuje mi się 0. Co gorsza jak zrobię if:

  1. {% for taxAmountsData in taxesAmountData %}
  2. {% if taxAmountsData.taxRate == 'zw' %}
  3. mam zw
  4. {% elseif taxAmountsData.taxRate == 0 %}
  5. mam 0
  6. {% endif %}
  7. {% endfor %}


to pokazuje mi 2x mam 0, i zw traktuje jako kolejne 0. Oczywiście jak zrobię dump na taxAmountsData to pokazuje mi elegancko
  1. ]array:4 [
  2. "netAmount" => 1000.0
  3. "taxRate" => "zw"
  4. "taxAmount" => 0.0
  5. "grossAmount" => 1000.0
  6. ]


Ma ktoś pomysł co może być nie tak?
404
A jak zrobisz tak:
Kod
{{ dump(taxesAmountData) }}
{% for taxAmountsData in taxesAmountData %}
    {% if taxAmountsData.taxRate == 'zw' %}
      mam zw
    {% elseif taxAmountsData.taxRate == 0 %}
      mam 0
    {% endif %}
{% endfor %}

to co masz w dumpie?
Pilsener
Jak masz tablicę, która może zawierać różne typy danych (np. int, float, string) to musisz to uwzględnić przy sprawdzaniu.
Tutaj podobny temat:
https://stackoverflow.com/questions/6843030...ual-to-a-string

Żeby być pewnym nigdy nie należy używać operatora == kiedy typ danych nie jest oczywisty, gdyż PHP dokona wtedy automatycznej konwersji typu co może nieść ze sobą różne konsekwencje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.