Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] funkcja minimum
robin5hood
post
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


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

Ten post edytował Ociu 30.11.2008, 16:12:03
Powód edycji: Poprawiłem bbCode (ociu)
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 26)
Lejto
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Lejto 30.11.2008, 15:09:57
Go to the top of the page
+Quote Post
robin5hood
post
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


dzieki (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Ten post edytował robin5hood 30.11.2008, 15:28:00
Go to the top of the page
+Quote Post
Lejto
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


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. ?>
Go to the top of the page
+Quote Post
robin5hood
post
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


teraz tak sprawdzam a ta funkcja za kazdym razem mi wurzucaze "błąd"
mozesz na nia spojrzec co musiałbym zmienić
Go to the top of the page
+Quote Post
Lejto
post
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


gdzie masz zmienną $a;??
Go to the top of the page
+Quote Post
robin5hood
post
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


ja chciałem sprawdzić czy tablica $a skałada sie z samych liczb, o to mi chodziło , pewnie coć nie tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
Lejto
post
Post #8





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


a nie sory $a masz zadeklarowane w funkcji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (już nie widzę)
nie wiem co masz źle
Go to the top of the page
+Quote Post
robin5hood
post
Post #9





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


moze ktoś inny na to spojrzy (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  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.
Go to the top of the page
+Quote Post
robin5hood
post
Post #11





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
marcio
post
Post #12





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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. ?>
Go to the top of the page
+Quote Post
robin5hood
post
Post #13





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


co ty zmieniłes bo nie widze, a po zatym dziwne wyrzuca z duzej litery "Array" (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post
marcio
post
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  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.
Go to the top of the page
+Quote Post
robin5hood
post
Post #15





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


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 (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Ten post edytował robin5hood 30.11.2008, 17:49:03
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
robin5hood
post
Post #17





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


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');    
}


Ten post edytował robin5hood 30.11.2008, 18:09:18
Go to the top of the page
+Quote Post
pyro
post
Post #18





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


nie dales po for() klamerki

// edit

i jeszcze jednej na samym koncu

Ten post edytował pyro 30.11.2008, 18:08:54
Go to the top of the page
+Quote Post
robin5hood
post
Post #19





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


on mi nadal pokazuje raz "dobrze" raz "żle" raz "dobrzedobrze"
to zlaezy co wpisze w $a=array() (IMG:http://forum.php.pl/style_emoticons/default/mellow.gif)
Go to the top of the page
+Quote Post
erix
post
Post #20





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
robin5hood
post
Post #21





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
erix
post
Post #22





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
robin5hood
post
Post #23





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


niestety nie wiem co mam tu zmienic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
pyro
post
Post #24





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  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. ?>
Go to the top of the page
+Quote Post
robin5hood
post
Post #25





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


niestety teraz non stop pokazuje błąd nawet jak wezme $a=array(1,2,4)
Go to the top of the page
+Quote Post
erix
post
Post #26





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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

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

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował erix 30.11.2008, 19:06:24
Go to the top of the page
+Quote Post
robin5hood
post
Post #27





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


dzieki, czegoś sie przynajmniej nauczyłem (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 14.09.2025 - 21:44