Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP toinen muuttujista ei tulostu

Oskuz [17.09.2013 16:17:22]

#

Seuraavan koodin pienin muuttuja ei tulostu jostakin oudosta syystä.

<?php
$luvut1= array();
$luvut1= explode ("|",$_REQUEST['luvut']);
$pienin=$luvut [0];
$suurin=$luvut[0];
for ($i=0; $i< count ($luvut1); ++$i)
 {
if ($pienin>$luvut1 [$i])
  {$pienin=$luvut1 [$i];}
if ($suurin<$luvut1 [$i])
  {$suurin=$luvut1 [$i];}
}
print $pienin;      // pienin muuttuja ei tulostu
 print $suurin;
 ?>

Ongelma taitaa kyllä taas olla joku aloittelian virhe/huolimattomuus? joka ei vain osu silmään.
Kiitokset jo tällei etukäteen.

Antti Laaksonen [17.09.2013 16:26:28]

#

Yksi vika on ainakin siinä, että viittaat muuttujien alustuksessa taulukkoon $luvut, vaikka taulukon nimi on $luvut1.

groovyb [17.09.2013 16:49:16]

#

printtaappa välillä noita arvoja loopin sisällä ja katso että sisältääkö pienin arvon. Typo tuossa on tosiaan myös kuten Antti mainitsikin. tsekkaa myös mitä tuo parsittu taulukkosi sisältää.

Metabolix [17.09.2013 16:54:19]

#

Taas kerran ongelma löytyisi virheilmoitusten avulla. Virhekin on ihan sama kuin oppaan esimerkissä: muuttujan nimi on väärä. Tuurilla kuitenkin tyhjä arvo (null) sattuu olemaan pienempi kuin mikään positiivinen kokonaisluku, jolloin $suurin saa yleensä jonkin järkevän arvon. Jos taulukossasi olisi vain negatiivisia lukuja, kävisi päinvastoin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta