![]() |
![]() |
-mastique- |
![]()
Post
#1
|
Goście ![]() |
Problem jest prosty i bardzo frustrujace jest dla mnie to, ze nie wiem co robie zle, dlatego prosze o podpowiedz a nie rozwiazanie.
Funkcja ma zliczac ile razy dana wartosc wystapiala w calej tablicy dwuwymiarowej:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 20 Dołączył: 19.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
A a nie dlatego ze masz
Cytat $policzone[$i]=0; (IMG:style_emoticons/default/questionmark.gif) function policz($tablo) { for($i=0;$i<50;$i++) //inicjuje tablice zliczen zerami $policzone[$i]=0; for($row=1;$row<sizeof($tablo);$row++) //przeszukuje tablice po indeksach $row i $col { for($col=2;$col<8;$col++) { $liczona=$tablo[$row][$col]; //dotad wszystko dziala, ale wiersz ponizej sie juz nie wykonuje i zwrocona zostaje tablica zer $policzone[$liczona]++; } } return $policzone; } echo $ilosc=var_dump(policz(5)); p.s. nie wiem czy cos pomoze? Ten post edytował poli25 22.03.2012, 11:04:45 |
|
|
-Gość- |
![]()
Post
#3
|
Goście ![]() |
A a nie dlatego ze masz (IMG:style_emoticons/default/questionmark.gif) tam w 1 petli tablica jest tylko deklarowana zerami i wykonuje sie to tylko raz podczas dzialania funkcji na samym poczatku zeby potem "dala sie" inkrementowac w kolejnej petli. Bez tej deklaracji napewno nie zadziala. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 20 Dołączył: 19.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ale co to za funkcja skoro niezaleznie od parametru wprowadzonego daje ten sam wynik? Co Ty chcesz osiągnąć?
|
|
|
-mastique- |
![]()
Post
#5
|
Goście ![]() |
Ale co to za funkcja skoro niezaleznie od parametru wprowadzonego daje ten sam wynik? Co Ty chcesz osiągnąć? Funkcja ma wypluc jako wynik tablice w ktorej jest zliczona ilosc wystapien danej liczby w tablicy $dane. np jesli w tablicy $dane liczba 8 wystapiala 14 razy to $policzone[8] bedzie rowne 14. I tak- niezaleznie od tablicy dane wynik zawsze jest taki sam, a ja nie potrafie znalezc bledu :/ |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że wysyłasz do funkcji tablicę array przykładowo taką:
I w odpowiedzi chcesz otrzymać: ? |
|
|
-mastique- |
![]()
Post
#7
|
Goście ![]() |
Rozumiem, że wysyłasz do funkcji tablicę array przykładowo taką: I w odpowiedzi chcesz otrzymać: ? tak dokladnie o cos takiego mi chodzi. Popelniam jakis strasznie glupi blad i nie jestem w stanie go zdiagnozowac, narazie doszedlem juz do tego, ze w najbardziej zagniezdzonej petli for tablica $policzone przyjmuje juz zalozone wartosci, ale petli o stopien wyzej juz nie. Zacma umyslowa |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
tak dokladnie o cos takiego mi chodzi. Popelniam jakis strasznie glupi blad i nie jestem w stanie go zdiagnozowac, narazie doszedlem juz do tego, ze w najbardziej zagniezdzonej petli for tablica $policzone przyjmuje juz zalozone wartosci, ale petli o stopien wyzej juz nie. Zacma umyslowa Ja bym na Twoim miejscu spróbował napisać tą funkcję od nowa. Wypadało by zacząć od założenia, czy tablica którą przesyłasz jest jednowymiarowa czy więcej. |
|
|
-mastique- |
![]()
Post
#9
|
Goście ![]() |
Ja bym na Twoim miejscu spróbował napisać tą funkcję od nowa. Wypadało by zacząć od założenia, czy tablica którą przesyłasz jest jednowymiarowa czy więcej. Pomoglo rzutoeanie typow (int)$liczona i dziala jak chcialem, chociaz nie jestem pewny dlaczego bylo to konieczne. Pewnie domyslnie tablica indeksowala sie stringami. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
zasada jest dość prosta:
jeśli piszesz funkcje w których na wejściu musisz mieć konkretny typ zmiennej - stosuj rzutowanie typów. Po pierwsze pozbędziesz się problemów z nieprawidłowym typem wejściowym (warto stosować warunki typu is_integer albo is_array i wypluwać odpowiednie błędy) a po drugie unikniesz problemów takich jak ten (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
-mastique- |
![]()
Post
#12
|
Goście ![]() |
Dzieki za porady i pomoc, dzien uwazam za udany: +1 do wiedzy praktycznej:)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:54 |