Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] funkcja minimum
Forum PHP.pl > Forum > Przedszkole
robin5hood
mam kod
  1. <?php
  2. function mintab($a=array())
  3.  
  4. {
  5.  {
  6.     if (is_int($a)==false)
  7.     {
  8.         echo ('błąd');
  9.     }
  10.     else
  11. {
  12.     $range=count($a);
  13.    
  14. $pom=$a[0];
  15. for($i=1;$i<$range;$i++)
  16. {
  17. if($a[$i]<$pom){$pom=$a[$i];}
  18. }
  19. return $pom;
  20. }
  21. $tab=array(6,1,20);
  22. echo mintab($tab);
  23. ?>

wyskakuje że mam bład w linijce juz po wywołaniu tej funkcji
tkaki bład
Parse error: syntax error, unexpected $end in C:\Program Files\Apache Group\Apache2\htdocs\zad3.php on line 65
Lejto
trochę z klamrami pomieszałeś powinno być tak:
  1. <?php
  2. function mintab($a=array())
  3. {
  4.     if (is_int($a)==false)
  5.     {
  6.         echo ('błąd');
  7.     }
  8.     else
  9.    {
  10. $range=count($a);
  11. $pom=$a[0];
  12. for($i=1;$i<$range;$i++)
  13. {
  14. if($a[$i]<$pom){$pom=$a[$i];}
  15. }
  16. return $pom;
  17. }
  18. $tab=array(6,1,20);
  19. echo mintab($tab);
  20. }
  21. ?>

chociaż do końca nie wiem winksmiley.jpg
robin5hood
dzieki wstydnis.gif
Lejto
sory bo pomyliłem, tak zobacz
  1. <?php
  2. function mintab($a=array())
  3. {
  4.    if (is_int($a)==false)
  5.    {
  6.        echo ('błąd');
  7.    }
  8.    else
  9.   {
  10. $range=count($a);
  11. $pom=$a[0];
  12. for($i=1;$i<$range;$i++)
  13. {
  14. if($a[$i]<$pom){$pom=$a[$i];}
  15. }
  16. return $pom;
  17. }
  18. }
  19. $tab=array(6,1,20);
  20. echo mintab($tab);
  21. ?>
robin5hood
teraz tak sprawdzam a ta funkcja za kazdym razem mi wurzucaze "błąd"
mozesz na nia spojrzec co musiałbym zmienić
Lejto
gdzie masz zmienną $a;??
robin5hood
ja chciałem sprawdzić czy tablica $a skałada sie z samych liczb, o to mi chodziło , pewnie coć nie tak questionmark.gif wstydnis.gif
Lejto
a nie sory $a masz zadeklarowane w funkcji winksmiley.jpg (już nie widzę)
nie wiem co masz źle
robin5hood
moze ktoś inny na to spojrzy wstydnis.gif
erix
  1. <?php
  2. $tab=array(6,1,20);
  3. echo mintab($tab);
  4. //...
  5. function mintab($a=array())
  6. ?>

Jak ma is_int" title="Zobacz w manualu PHP" target="_manual zwrócić true, skoro jako argument podstawiasz tablicę? Zrób pętlę iterującą wszystkie elementy i jeśli któryś z nich nie jest liczbą - wypluj błąd.
robin5hood
Kod
function mintab($a=array())
{
$range=count($a);
for($i=1;$i<$range;$i++)

   if (is_int($a[$i]))
   {
      {
$range=count($a);
$pom=$a[0];
for($i=1;$i<$range;$i++)
{
if($a[$i]<$pom){$pom=$a[$i];}
}
return $pom;
}
   }
   else
  {
echo ('bład');
}
}
$tab=array(1,2,4);
echo mintab($tab);

zrobiłem tak ale wyrzuca mi tylko pierwszy element tablicy
marcio
Cytat(robin5hood @ 30.11.2008, 17:24:24 ) *
Kod
function mintab($a=array())
{
  $range=count($a);
  for($i=1;$i<$range;$i++)
  
    if (is_int($a[$i]))
    {
       {
$range=count($a);
$pom=$a[0];
for($i=1;$i<$range;$i++)
{
if($a[$i]<$pom){$pom=$a[$i];}
}
return $pom;
}
    }
    else
   {
echo ('bład');
}
}
$tab=array(1,2,4);
echo mintab($tab);

zrobiłem tak ale wyrzuca mi tylko pierwszy element tablicy

Zamien na:
  1. <?php
  2. function mintab($a=array())
  3. {
  4.  $range=count($a);
  5.  for($i=1;$i<$range;$i++)
  6.  
  7.    if (is_int($a[$i]))
  8.    {
  9.       {
  10. $range=count($a);
  11. $pom[0]=$a[0];
  12. for($i=1;$i<$range;$i++)
  13. {
  14. if($a[$i]<$pom){$pom[]=$a[$i];}
  15. }
  16. return $pom;
  17. }
  18.    }
  19.    else
  20.   {
  21. echo ('bład');
  22. }
  23. }
  24. $tab=array(1,2,4);
  25. echo mintab($tab);
  26. ?>
robin5hood
co ty zmieniłes bo nie widze, a po zatym dziwne wyrzuca z duzej litery "Array" blinksmiley.gif
marcio
  1. <?php
  2. function mintab($a=array())
  3. {
  4.  $range=count($a);
  5.  for($i=1;$i<$range;$i++)
  6.  
  7.    if (is_int($a[$i]))
  8.    {
  9.       {
  10. $range=count($a);
  11. $pom=$a[0];
  12. for($i=1;$i<$range;$i++)
  13. {
  14. if($a[$i]<$pom){$tabs[] .= $a[$i];}
  15. }
  16. return $tabs;
  17. }
  18.    }
  19.    else
  20.   {
  21. echo ('bład');
  22. }
  23. }
  24. $tab=array(1,2,4);
  25. echo mintab($tab);
  26. ?>

To sue przyjrzyj co tylko nie mam jak potestowac wiec sprawdz i to.
robin5hood
ten twój nic nie wyrzuca
Kod
<?php
   function mintab($a=array())
   {
       $range=count($a);
   $pom=$a[0];
  
   for($i=1;$i<$range;$i++)
   {
   if($a[$i]<$pom){$pom=$a[$i];}
   }
   return $pom;
   }
   $tab=array(123,567,33,1,23,66,999,7,-33,9999);
   echo mintab($tab);
   ?>


ten kod działa co powyzej ,ale chciałem zeby sprawdzić czy tablica $tab=array(123,567,33,1,23,66,999,7,-33,9999); składa sie z samych liczb wstydnis.gif
erix
Przeczytałeś uważnie mojego posta?
Cytat
Zrób pętlę iterującą wszystkie elementy i jeśli któryś z nich nie jest liczbą - wypluj błąd.


Kod
dla każdego elementu tablicy <tablica>{
jeśli to nie jest liczba -> wypluj błąd
}


Jeśli pętla nie przerwie funkcji, to masz same liczby.
robin5hood
już nie wiem, ale czy to bedzie tak
i co tu jest zle?
Kod
$a=array(1,2);
$range=count($a);
for($i=1;$i<$range;$i++)
    if (is_int($a[$i]))
  {
echo('dobrze');
}
else
{
echo('żle');    
}
pyro
nie dales po for() klamerki

// edit

i jeszcze jednej na samym koncu
robin5hood
on mi nadal pokazuje raz "dobrze" raz "żle" raz "dobrzedobrze"
to zlaezy co wpisze w $a=array() mellow.gif
erix
No bo tak ma być. Jeśli jest źle, to musisz przerwać działanie funkcji, ale to jest już Twoja praca domowa: Podręcznik PHP: dział funkcje.
robin5hood
moze mi pomozecie jeszcze prosze
Kod
$range=count($a);
for($i=1;$i<$range;$i++)
$a=array(1,2,'w');
{
   if (is_int($a[$i]))
{
echo('bład');
}

}

dałem tak,ale on nie wyrzuca , ze błąd
erix
Bo masz tablicę w pętli, a $range ma zawsze zero. Pamiętaj, że parsowanie w tym przypadku idzie od góry do dołu, a nie na odwrót.
robin5hood
niestety nie wiem co mam tu zmienic sad.gif
pyro
  1. <?php
  2. $a=array(1,2,'w');
  3. $range=count($a);
  4. for($i=0;$i<$range;$i++)
  5. {
  6.   if (is_int($a[$i]))
  7. {
  8. echo('bład');
  9. }
  10.  
  11. }
  12. ?>
robin5hood
niestety teraz non stop pokazuje błąd nawet jak wezme $a=array(1,2,4)
erix
Nie:
  1. <?php
  2. if (is_int($a[$i]))
  3. ?>

a
  1. <?php
  2. if (!is_int($a[$i]))
  3. ?>

winksmiley.jpg
robin5hood
dzieki, czegoś sie przynajmniej nauczyłem sciana.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.