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.
Yksi vika on ainakin siinä, että viittaat muuttujien alustuksessa taulukkoon $luvut, vaikka taulukon nimi on $luvut1.
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ää.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.