program sprawdzający czy tablica składa sie z liczb

robin5hood
Użytkownik
Użytkownik
Posty: 1676
Rejestracja: 2 kwie 2007, o 14:43
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 178 razy
Pomógł: 17 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: robin5hood »

co trzeba zmienic w tym kodzie aby wyrzucał "błąd", gdy w tablicy są inne znaki niz liczny

Kod: Zaznacz cały

$range=count($a);
for($i=1;$i<$range;$i++)
$a=array(1,2,'w');
{
   if (is_int($a[$i]))
 { 
echo('bład');
}

}
Moraxus
Użytkownik
Użytkownik
Posty: 223
Rejestracja: 23 lis 2008, o 18:10
Płeć: Mężczyzna
Podziękował: 3 razy
Pomógł: 79 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: Moraxus »

Kod: Zaznacz cały

$a=array(1,2,'w'); 
$range=count($a); 
for($i=0;$i<$range;$i++) 
   if (!is_int($a[$i])) 
       echo('bład'); 
Przede wszystkim pamiętaj, że indeksy tablicy zaczynają sie od 0 a nie od 1.
Poza tym is_int zwraca 0, gdy argument nie jest liczbą, więc w instrukcji warunkowej powinien się znaleźć wykrzyknik.
robin5hood
Użytkownik
Użytkownik
Posty: 1676
Rejestracja: 2 kwie 2007, o 14:43
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 178 razy
Pomógł: 17 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: robin5hood »

próbuje to teraz zastosowac w funkcji, ale nie wiem jak, próbowałem tak,ale jest żle

Kod: Zaznacz cały

function mintab($a=array())
{
	$range=count($a);
	
$pom=$a[0];
for($i=1;$i<$range;$i++)
if (!is_int($a[$i]))
echo('bład');
else
{
if($a[$i]<$pom){$pom=$a[$i];}
}
return $pom;
}
//program
$tab=array(123,567,'w',1,23,66,999,7,-33,9999);
echo mintab($tab);
Moraxus
Użytkownik
Użytkownik
Posty: 223
Rejestracja: 23 lis 2008, o 18:10
Płeć: Mężczyzna
Podziękował: 3 razy
Pomógł: 79 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: Moraxus »

Co jest źle?
Jeżeli funkcja ma za zadanie zwracać najmniejszą liczbę z tablicy to u mnie działa ok.
robin5hood
Użytkownik
Użytkownik
Posty: 1676
Rejestracja: 2 kwie 2007, o 14:43
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 178 razy
Pomógł: 17 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: robin5hood »

powinna wyrzucić bład bo $tab=array(123,567,'w',1,23,66,999,7,-33,9999); jest litera, a ona liczy mimo to minimum
Nie wiem jak zmienic zeby wyrzucało "błąd" , gdy w wywołaniu jest litera, a gdy nie bedzie to policzy minimum
Moraxus
Użytkownik
Użytkownik
Posty: 223
Rejestracja: 23 lis 2008, o 18:10
Płeć: Mężczyzna
Podziękował: 3 razy
Pomógł: 79 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: Moraxus »

Aha, czyli chcesz żeby funkcja kończyła działanie, kiedy znajdzie element nie będący liczbą?
Żaden problem :)

Kod: Zaznacz cały

<?php
function mintab($a=array()) 
{ 
    $range=count($a); 
    
$pom=$a[0]; 
for($i=1;$i<$range;$i++) 
if (!is_int($a[$i])){
echo('bład');
return; 
}
else 
{ 
if($a[$i]<$pom){$pom=$a[$i];} 
} 
return $pom; 
} 
//program 
$tab=array(123,567,'w',1,23,66,999,7,-33,9999); 
echo mintab($tab);
?>
Poprostu trzeba dorzucić return za instrukcją wyświetlania napisu "błąd".
robin5hood
Użytkownik
Użytkownik
Posty: 1676
Rejestracja: 2 kwie 2007, o 14:43
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 178 razy
Pomógł: 17 razy

program sprawdzający czy tablica składa sie z liczb

Post autor: robin5hood »

dzieki jestes wielki, pewnie jeszcze bede potrzebował pomocy
ODPOWIEDZ