![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak w pętli foreach() mogę "przeskoczyć" o dwa przeloty w przód? Chodzi mi o coś takiego jak continue, tyle że wywołane dwa razy pod rzad.
Próbowałem mniej więcej tak:
Ale to nie działa... Ewentualnie ratuje mnie zmiana konkretnej wartości dla danego klucza podczas wykonywania pętli foreach (wtedy powyższa opcja jest mi niepotrzebna), ale to też wydaje mi się małowykonalne:
To, owszem, zamieni wartość w tablicy, ale po wykonaniu pętli. Ja muszę to zrobić w trakcie. Ma kotś jakiś pomysł? Ten post edytował Majkelo23 2.09.2014, 20:21:02 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niestety kurczę, nie działa mi to @kreatiff.
Natomiast @ctom - ta opcja jednak mnie nie ratuje, aczkolwiek działa, przepraszam za wprowadzenie w błąd. Może pokażę kod i ktoś mi coś podsunie...
Problem jest w linii ~42. Jak widać, wszystkie warunki mają break, więc aktualizacja tablicy pomaga bo następny przelot bierze już pod uwagę fakt, że zmieniłem wartości w tablicy. Warunek w okolicy linii ~42 jednak nie jest kończony za pomocą break i tam jest problem. Chcę, aby gdy $available - $available wynosi 0, skrypt przeszedł do następnego rekordu. Jednak po przejściu do następnego rekordu, skrypt się zapętla po prostu i stoję w miejscu przez wszystkie przeloty pętli... Tutaj jest wynik tego kodu powyższego: Cytat array(5) { [0]=> array(1) { ["spear"]=> float(12) } [1]=> array(1) { ["spear"]=> float(12) } [2]=> array(3) { ["spear"]=> float(7) ["sword"]=> string(1) "7" ["axe"]=> float(30) } [3]=> array(3) { ["spear"]=> float(7) ["sword"]=> string(1) "7" ["axe"]=> float(30) } [4]=> array(3) { ["spear"]=> float(7) ["sword"]=> string(1) "7" ["axe"]=> float(2) } } Jak widać 2 tablica przyjęła jakieś tam wartości i reszta się powtarza bo linia ~42 nie potrafi zatrybić, że tam jest po prostu 0, dla niej co przelot ta wartość wynosi 7 i skrypt stoi w miejscu zamiast gnać dalej. Nie mam pomysłu już jak to zrobić. @UP Twoja propozycja mi nie działa, gdyby działała to przypuszczalnie by to poszło bo wtedy daję znać do skryptu, że ta wartość nie wynosi 7, tylko 0 i wtedy ten warunek z linii 31 zrobi swoje dalej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 06:24 |