Autor Zpráva
petrolu
Profil *
Ahoj mám problém s tímhle php a nevím co s tím mělo by to porovnat poslední číslo v poli se všemi a pokud by se rovnalo napsat počet kolik jich je v poli.

<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
  <?php
$soucet=0;
$stejna=0;
$pole=array("1","2","3","4","5","6","7","8","9","10",
"1","2","13","14","15","8","17","12","4","6",
"21","8","1","2","9","6","2","9","7","6");

for($i=0;$i>=30;$i++)
if($pole[$i]==$pole[29])
{
$soucet=$stejna+1;
} 
echo $soucet;
?>
  </body>
</html>
maks
Profil
petrolu:
1. čísla bez uvozovek, takto to nejsou čísla, ale řetězce
2. místo for použij foreach (pro případ, že nějaké číslo do pole přidáš, abys to nemusel přepisovat)
3. $stejna je pořád 0, nikde ji nezvětšuješ. Řádek 18 uprav na $soucet++;

Celé by to šlo napsat jinak, ale tuším domácí úkol a ani ne začtečnické znalosti. Proto nechme kód takhle a uprav si (alespoň) ten 18. řádek.
petrolu
Profil *
jj přesně tak domácí úkol :) dík moc :)
Alphard
Profil
Kromě řádku 18 se pokuste vylepšit ještě aspoň jednu věc, počet prvků v poli zjistíte funkcí count(). Zkuste ji využít a zbavit se magických konstant 29 a 30.

Podmínka v cyklu for je napsaná opačně, ale na to už jste asi přišel.
Tori
Profil
Pokud není vyžadované použít cyklus, můžete to vyřešit i pomocí funkcí end, array_count_values a isset.
insalatisimeRioMare
Profil *
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
  <?php
$pole=array(1,2,3,4,5,6,7,8,9,10,1,2,13,14,15,8,17,12,4,6,21,8,1,2,9,6,2,9,7,6);
$cnt=0;
$last = end($pole);

foreach($pole as $value)
{
 if($value = $last){
  $cnt++;
 }
echo $cnt;
}
 

?>
  </body>
</html>



if($value == $last) zasadni chyba!!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0