Diskuze: max. a min. hodnota pole
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, skus to urobit tak, ze na zaciatku si do premennej vypises prvu hodnotu pola a tu potom porovnavaj cez cyklus foreach s ostatnymi prvkami. Ak je i-ta hodnota vacsia, hodnotu prepises, inak nechas povodnu hodnotu. Podobne to bude aj s minimalnou hodnotou, len das opacnu podmienku:
$max = $pole[0];
$min = $pole[0];
foreach($pole as $prvok){
if($prvok>$max)
$max = $prvok;
if($prvok<$min)
$min = $prvok;
}
Nikdy neimplementuj funkce, které má jazyk v základu.
Funkce max() a min() slouží přesně k tomuto.
Pokud nefungují (to to znamená? nevypsalo nic? chybu? vybuchlo to?) tak máš
data v odlišném tvaru než ty funkce očekávají.
Hoď nám sem výpis var_dump($_POST), uvidíme co se dá dělat.
Ok, len som chcel dať nejaký návrh, kedže píše že tie funkcie mu nefungujú.
Když mu nefunguje nějaká funkce jazyka, tak je mnohem větší šance že dělá něco špatně než že je jazyk špatně. A proto by to neměl řešit tak, že si začne psát tu funkci znovu.
Tady je kód php, hodnoty jsou odesílány pomocí Post. Mám to nahrané na: http://zbysahous.wz.cz/
<?php
$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$c = $_POST['cislo3'];
$d = $_POST['cislo4'];
$e = $_POST['cislo5'];
$f = $_POST['cislo6'];
$g = $_POST['cislo7'];
$h = $_POST['cislo8'];
$j = $_POST['cislo9'];
$k = $_POST['cislo10'];
$max= max($_POST);
$prumer = ($a + $b + $c + $d + $e + $f + $g + $h + $j + $k) / 10;
echo("Prumer hodnot: $prumer");
echo($max);
?>
Neviem, prečo ti to neide ale mne
echo max($_POST);
na localhoste normalne funguje. A pri tom priemere by si mal skôr použiť
skôr zabudované funkcie, ako David hovoril
echo "priemer: ". array_sum($_POST)/count($_POST);
Ak by si niekedy pridal, alebo odobral nejakú hodnotu, tak by si to musel v kóde zasa prepisovať.
Dík za radu, jak jsem psal, jsem zatím začátečník.:)
Tak problém vyřešen, všem dík za rady.
Zobrazeno 12 zpráv z 12.