• 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

Object Storage Arubacloud
0 głosów
282 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 (287,950 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 (212,710 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ź 183 wizyt
pytanie zadane 25 października 2022 w C i C++ przez piotr_domanski Bywalec (2,080 p.)
0 głosów
2 odpowiedzi 269 wizyt
pytanie zadane 14 września 2021 w JavaScript przez TheDarkSide Użytkownik (930 p.)
0 głosów
2 odpowiedzi 148 wizyt
pytanie zadane 21 marca 2020 w PHP przez saseq Nowicjusz (140 p.)

92,595 zapytań

141,444 odpowiedzi

319,717 komentarzy

61,980 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...