• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed problem z instrukcją warunkową PHP

0 głosów
560 wizyt
pytanie zadane 18 listopada 2019 w PHP przez karoloo Użytkownik (530 p.)
zamknięte 18 listopada 2019 przez karoloo

Witam. Mam problem z pewną funkcją która wywala mi błędy:


Notice:  Undefined variable: b1 in ..\game.php on line 63
Notice:  Undefined variable: b2 in ..\game.php on line 63
Notice:  Undefined variable: b3 in ..\game.php on line 63
Notice:  Undefined variable: b4 in ..\game.php on line 63
Notice:  Undefined variable: b5 in ..\game.php on line 63

kod:


$a1 = rand(1, 8);
$a2 = rand(1, 8);
$a3 = rand(1, 8);
$a4 = rand(1, 8);
$a5 = rand(1, 8);

$b1 = rand(1, 8);
$b2 = rand(1, 8);
$b3 = rand(1, 8);
$b4 = rand(1, 8);
$b5 = rand(1, 8);

$c1 = rand(1, 8);
$c2 = rand(1, 8);
$c3 = rand(1, 8);
$c4 = rand(1, 8);
$c5 = rand(1, 8);

function jeden(){
// b1 b2 b3 b4 b5
	if($b1==$b2 && $b2==$b3 && $b3==$b4 && $b4==$b5){        //linia 63
		// 5
	}
	if(($b1==$b2 && $b2==$b3 && $b3==$b4) || ($b2==$b3 && $b3==$b4 && $b4==$b5)){
		// 4
	}
	if(($b1==b2 && $b2==$b3) || ($b2==b3 && $b3==$b4) || ($b3==$b4 && $b4==$b5)){
		//3
	}
}

funkcja jest wywoływana niżej niż przypisanie wartości zmiennym. Dla celów testowych dodałem

$a1=0;
$a2=0;
$a3=0;
$a4=0;
$a5=0;
$b1=0;
$b2=0;
$b3=0;
$b4=0;
$b5=0;
$c1=0;
$c2=0;
$c3=0;
$c4=0;
$c5=0;

Program również w tym wypadku podaje błędy.

komentarz zamknięcia: Problem rozwiązany

2 odpowiedzi

+1 głos
odpowiedź 18 listopada 2019 przez Arkadiusz Waluk Ekspert (291,530 p.)
wybrane 18 listopada 2019 przez karoloo
 
Najlepsza
Zmienne z zewnątrz funkcji nie są widziane w jej wnętrzu, jak i zmienne istniejące w funkcji nie są widziane na zewnątrz. Kolejność deklarowania nie ma znaczenia.

Jak chcesz przekazać coś do funkcji możesz to zrobić przez argumenty, jak przekazać coś poza funkcję to zwrócić przez return.
komentarz 18 listopada 2019 przez karoloo Użytkownik (530 p.)

po przesłaniu jako argument błąd

  Use of undefined constant bb2 - assumed 'bb2' (this will throw an Error in a future version of PHP) in 

Funkcja

function jeden($bb1=0,$bb2=0,$bb3=0,$bb4=0,$bb5=0){
// b1 b2 b3 b4 b5
	if($bb1==$bb2 && $bb2==$bb3 && $bb3==$bb4 && $bb4==$bb5){
		// 5
	}
	if(($bb1==$bb2 && $bb2==$bb3 && $bb3==$bb4) || ($bb2==$bb3 && $bb3==$bb4 && $bb4==$bb5)){
		// 4
	}
	if(($bb1==$bb2 && $bb2==$bb3) || ($bb2==$bb3 && $bb3==$bb4) || ($bb3==$bb4 && $bb4==$bb5)){
		//35
	}
}

wywołanie

jeden($b1,$b2,$b3,$b4,$b5);

korzystam z różnych języków więc mogłem coś pomieszać

1
komentarz 18 listopada 2019 przez karoloo Użytkownik (530 p.)
Dobra znalazłem błąd dzięki ;)
+1 głos
odpowiedź 18 listopada 2019 przez Ehlert Ekspert (215,210 p.)
Dlaczego funkcja korzysta ze zmiennych globalnych? Przekaż to wszystko w parametrach. Żeby to zrobić wypada użyć jakiejś struktury danych. Albo chociaż tablic asocjacyjnych.

Podobne pytania

0 głosów
1 odpowiedź 360 wizyt
pytanie zadane 25 października 2022 w C i C++ przez piotr_domanski Bywalec (2,630 p.)
0 głosów
2 odpowiedzi 523 wizyt
pytanie zadane 14 września 2021 w JavaScript przez TheDarkSide Użytkownik (930 p.)
0 głosów
2 odpowiedzi 382 wizyt
pytanie zadane 21 marca 2020 w PHP przez saseq Nowicjusz (140 p.)

93,772 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,375 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...