Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak sprawdzić czy następna wartość jest taka sama
silverwind
post 7.02.2016, 10:39:45
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Jak zrobić test, który sprawdza czy kolejna wartość w pętli foreach jest taka sama. Jest tak funkcja same as w twigu ale nie mam pomysłu jak to zrobić
Go to the top of the page
+Quote Post
Crozin
post 7.02.2016, 10:59:17
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Zależy po czym iterujesz, ale jeżeli jest to zwykła tablica z indeksami numerycznymi, to po prostu sprawdź czy nie jesteś na ostatnim elemencie tablicy i porównaj aktualny element z elementem o kluczu o 1 większym: http://twig.sensiolabs.org/doc/tags/for.html -> zwróć uwagę na zmienną loop.
Go to the top of the page
+Quote Post
silverwind
post 7.02.2016, 13:06:32
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Nie bardzo wiem jak to zrobić. Według twojej rady może jakiś przykład
  1. {% if loop.index is not loop.last%}
  2. {%if loop.index is same as loop.index +1 %}
  3. {% endif %}
  4. {% endif %}
W twoim rozwiązaniu porównuje index a nie wartości. Chodzi mi, aby wyświetlało mi pierwszy element w tabeli a jak jest taki samy to pustą komórkę. Zrobiłem tak ale mi nic nie wyświetla teraz
  1. if details.o_name is same as(details.o_name) %}#}
  2. {# <th class="text-center success"></th>#}
Go to the top of the page
+Quote Post
nospor
post 9.02.2016, 15:00:14
Post #4





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




Ty nie masz sprawdzac czy nastepna jest taka sama. Ty masz sprawdzasz czy poprzednia byla taka sama i jak tak to walic PUSTO.
W tym celu zapisujesz aktualny stan iteracji w zmiennej (http://twig.sensiolabs.org/doc/tags/set.html) a linijke wczesniej porownujesz akutalny stan do tej zmiennej .Jak sa takie same znaczy ze poprzednia byla taka sama


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post 9.02.2016, 15:35:14
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


  1. {% set foo = details.o_name%}
  2. {% if foo == details.o_name %}
  3.  
  4. <th class="text-center "></th>
  5. {% else %}
  6. <th class="text-center ">{{details.o_name}}</th>
  7. {% endif %}


Zrobiłem tak ale teraz mam wszystkie puste ?
Go to the top of the page
+Quote Post
nospor
post 9.02.2016, 15:39:38
Post #6





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




Logika sie klania...
Najpierw przypisujesz potem sprawdzasz. Toz logiczne ze po przypisaniu beda takie same

Napisalem wyraznie, ze LINIJKE WCZESNIEJ masz sprawdzac a nie pozniej


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post 9.02.2016, 23:26:49
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Nie wiem może jestem głupi i nie logiczny, ale nie mam już pomysłu. Tak to ma być
  1. {% if foo == details.o_name %}
  2. {% set foo=' '%}
  3. {% for details in expenses1 %}
  4. {% set foo = details.o_name%}
  5. {% endfor %}
  6.  
  7.  
Go to the top of the page
+Quote Post
nospor
post 10.02.2016, 16:25:15
Post #8





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




Miales taki kod:
{% set foo = details.o_name%}
{% if foo == details.o_name %}

<th class="text-center "></th>
{% else %}
<th class="text-center ">{{details.o_name}}</th>
{% endif %}

jedyne co miales zrobic, to przeniesc set za IF:
{% if foo == details.o_name %}

<th class="text-center "></th>
{% else %}
<th class="text-center ">{{details.o_name}}</th>
{% endif %}
{% set foo = details.o_name%}


Dodatkowo przed PETLA daj
{% set foo = '' %}
aby foo mialo jakas poczatkowa wartosc


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.08.2025 - 04:05