Autor Zpráva
neználek_
Profil *
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 *
Proměnné tady $arr = array('d'=>$t_d, 'h'=>$t_h, 's'=>$t_s); jsou libovolné náhodné čísla.
neználek_
Profil *
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.

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