Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]pętla na elementach tablicy wewnątrz funkcji [NIE DZIAŁA]
zoorg
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 18.03.2007

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


witam,

Jeśli ten kod umieszczam w funkcji i wywołuję później tą funkcję - działania w funkcji nie wyświetlają się, jeśli kod wprowadzę poza funkcję - wynik operacji wyświetla się prawidłowo - Czy może ktoś wyjaśnić Dlaczego?

np
  1. function m3(){
  2.  
  3. $tablica = $f2;
  4.  
  5. foreach ($tablica as $wartosc1) {
  6. foreach ($wartosc1 as $wartosc2) {
  7. print "$wartosc2\n";
  8. }
  9. }
  10. echo 'test...';
  11. }
  12.  
  13.  
  14. przy wywołaniu
  15.  
  16. m3();

wynik: test...

dla takiego kodu wewnątrz funkcji wyświetla się tylko kontrolne echo test,
jeśli ten kod umieszczę poza funkcja - wszystko działa poprawnie - Dlaczego?

Tablica jest 2 wymiarowa, w poszczególnych elementach moze znajdować się 0,1,2,3 lub 4, wielokrotnie (w wierszu jest 100 wartości), genealnie chodzi mi o wypisanie w jednej linii po kolei samych 1,2,3,4 wraz z pozycją na której są czyli np dla pozycji

[0][70] 4, [0][75] 4
[0][26] 1, [0][76] 1 itp

dwoma pętlami for (dla xa i ygreka - (poza funkcją) i jednego if ($f2[$g][$h] == 4 echo $h - działa bez problemu. Ale nie moge takiego kodu wprowadzić do funkcji. (w sensie - nic nie zwraca ;]

Ktoś jakieś pomysły? - (poza odesłaniem do manuala ;-) ..co grabię juz kilka godzin..

Ten post edytował Kshyhoo 19.12.2014, 20:45:39
Powód edycji: [Kshyhoo]: tagi PHP są odpowiedniejsze
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


a moze print "{$wartosc2}" zadziala ogolnie po co uzywasz print, od tego masz echo (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
aniolekx
post
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 46
Dołączył: 31.07.2009
Skąd: A

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


przypisujesz $tablica = $f2; a skąd w tej funkcji bierze się owo $f2??
Go to the top of the page
+Quote Post
zoorg
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 18.03.2007

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


zarówno print jak i echo poza funkcją - działają, jeśli ten sam kod wklejam wewnątrz funkcji i wywołuję ją, funkcja nie zwraca nic z iteracji po tablicy,

  1. [code]function bla4(){ for ($g=43;$g<=43;$g++){ // np 44 wiersz tabeli
  2. for ($h=1;$h<=100;$h++){ //kolejne nagłówki
  3. if ($f2[$g][$h] == 4 ){ echo $h ;}
  4. echo 'testyyy'.$f2[$g][$h].' tu jest dalej';
  5. }
  6.  
  7. }
  8. } //END bla4
  9.  
  10.  
  11. bla4();[code]



wynik

testyyy tu jest dalej

----------------------------
ten sam kod POZA FUNKCJĄ, wypisuje kolejne elementy z tablicy, które mają wartość 4 dlaczego nie działa to wew funkcji?

// zamiana na print "($wartość2\n)" , print ($wartosc2) - nic nie poprawia

Ten post edytował zoorg 19.12.2014, 20:41:32
Go to the top of the page
+Quote Post
sazian
post
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


jak zauważył @aniolekx zmienna $f2 jest niewidoczna w funkcji
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przenoszę do działu Przedszkole. Proszę autora o umieszczenie kodu w stosownym bb-code i dodanie do tytułu tagów.
Go to the top of the page
+Quote Post
zoorg
post
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 18.03.2007

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


noo tak, w funkiorce wystarczyło
dodać

Kod
global $f2



Dziękuję WAM Ślicznie -)
Go to the top of the page
+Quote Post
aniolekx
post
Post #8





Grupa: Zarejestrowani
Postów: 340
Pomógł: 46
Dołączył: 31.07.2009
Skąd: A

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


Cytat(zoorg @ 19.12.2014, 21:42:40 ) *
noo tak, w funkiorce wystarczyło
dodać

Kod
global $f2



Dziękuję WAM Ślicznie -)


OMG....
Go to the top of the page
+Quote Post
Boshi
post
Post #9





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


A po co używać funkcji globalnych ...? przekaż ją jako parametr do funkcji;]
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: 26.09.2025 - 00:59