Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SMARTY] Dziwne zachowanie if'a
NickOver
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cześć.
Mam dziwny problem ze smartami. Mam taki kod:
  1. {foreach $dataForModule.search.data as $element}
  2. {if $element != NULL}
  3. {if $element@key != 'tip'}
  4. <li class="tip text-center"><b>{$element}</b></li>
  5. {/if}
  6. {/if}
  7. {/foreach}


Struktura tablicy jest taka:
[0] => 'dane',
[1] => 'dane',
...
[tip] => '1',

Niestety nie chce mi wyświetlić [0] elementu tablicy. Cokolwiek by w nim nie było, za cholere nie chce go pokazać. Do pierwszego ifa na pewno wchodzi.
Problem jest tylko z
  1. {if $element@key != 'tip'}


Jesli usune ten warunek pokazuje tak jak powinno, ale niestety z elementem tip czego byc nie może.
Macie jakies pomysły czemu tak się dzieje i jak to naprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
{foreach $dataForModule.search.data as $key => $element}

    {if $element != NULL}

        {if $key != 'tip'}

            <li class="tip text-center"><b>{$element}</b></li>

        {/if}

    {/if}

{/foreach}
Go to the top of the page
+Quote Post
NickOver
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


smarty manual
drugi przykład w punkcie 7.31.

To co podałeś i tak nie działa (IMG:style_emoticons/default/tongue.gif) .

Problem rozwiązałem. Wystarczyło dać "!==" zamiast "!=" w 2 ifie.
Co nie zmienia faktu że strasznie mnie ciekawi czemu tak jest. No bo za nic int(0) != string(tip)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
No bo za nic int(0) != string(tip)
No wlasnie nie....
gdy porownujesz int z tekstem to tekst jest rzutowany na int, czyli tip zamienia sie na 0 a 0 != 0 nie jest spelnione (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:56