![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 5.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taką tablicę:
Klucze nie idą kolejno. Potrzebuję odjąć drugi element od pierwszego, trzeci od drugiego itd. Próbuję tak foreach($tab as $key => $val) { echo $val; $current=current($tab); $next=next($tab); echo "roznica= ".($next-$current)."<br />"; } i otrzymuję: 2 roznica = 4 5 roznica = 3 9 roznica = 4 12 roznica = 4 16 roznica = 10 20 roznica = 12 30 roznica = -42 42 roznica = 0 Do szczęsci brakuje mi pierwszej różnicy czyli 5-2. Nie wiem czemu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pewnie dlatego, ze po pierwszym odpaleniu foreach current wskazuje juz na nastepny element w kolejce
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 5.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie teraz sprawdziłem, w pętali foreach current to nie pierwszy tylko drugi element. Co ciekawe w pętli for current jest pierwszy, tylko że do tej tablicy nie mogę użyć for. W taki razie jak by to można było zrobić?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
FOR nie ingeruje w tablice, FOREACH tak, stad tez inne zachowanie...
Jak to poprawic? No przeciez to logincze.... $val to twoje current, a current to next. Nad czym tu myslec? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
foreach
Wyświetla się jednak nadmiarowo ostatni element :| for
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:26 |