Autor | Zpráva | ||
---|---|---|---|
neználek_ Profil * |
#1 · Zasláno: 20. 8. 2008, 18:49:39
Ahoj, říkám si, že tady chyba být nemůže a přece asi někde je:
$i = 1; foreach (neco as n) { $poz = false; $arr = array('d'=>$t_d, 'h'=>$t_h, 's'=>$t_s); $pos = max($arr); $sn = array_flip($arr); if($i == 1) {$poz = 1;} else { if($sn[$pos] == 'd') { $pz = mt_rand(1, 200); if($pz>=1 && $pz<=20) $poz = 1; if($pz>20 && $pz <= 200) $poz = mt_rand(2,3); } else if($sn[$pos] == 'h') { $poz = mt_rand(4,6); } else if($sn[$pos] == 's') { $poz = mt_rand(7,8); } } $i++; } Problém je, že když padne největší číslo na proměnnou $t_s, tedy $sn[$pos] == 's', tak mi to uloží nulu '0', když to padne na d nebo h tak v pořádku uloží se nějaký rand podle kritérií, ale co ta nula proboha? |
||
neználek_ Profil * |
#2 · Zasláno: 20. 8. 2008, 18:51:34
Proměnné tady $arr = array('d'=>$t_d, 'h'=>$t_h, 's'=>$t_s); jsou libovolné náhodné čísla.
|
||
neználek_ Profil * |
#3 · Zasláno: 20. 8. 2008, 20:11:11
Chybu jsem vyřešil, chybně jsem si vyložil funkci array_flip. Na otočení klíčů a hodnot jsem si musel napsat vlastní funkci. Lock.
|
||
Časová prodleva: 16 let
|
0