Autor Zpráva
Nox
Profil
Není to nic extra krásného, každopádně na to zírám a nechápu...

PHP5.3.2
$key = "$year-".str_pad($month,2,"0",STR_PAD_LEFT)."-".str_pad($day,2,"0",STR_PAD_LEFT);

var_dump($reserved); // vypíše array(1){ ["2010-09-20"]=> array(1)... }
var_dump($key); // 2010-06-28
var_dump( isset($reserved[$key]) ); // false
var_dump( $reserved && isset($reserved[$key]) ); // false
var_dump( $reserved[$key] ); // undefined index, NULL
var_dump( count($reserved) ); // int(1)

if( $reserved && isset($reserved[$key]) ); // <--- už objevena chyba
{
  if( $_SERVER["REMOTE_ADDR"] == "####" )
  {
    var_dump( isset($reserved[$key]) ); // <<----------- přesto se to sem dostane, výpisy jsou stejné, sama podmínka je false
		
    return true;
  }
}


$reserved je neprázdné pole, takže musí projít (zakomentoval jsem a nebyla změna)
isset($reserved[$key]) na předchozím řádku false, žádný jiný kód tam není

takže true && false = true?

nějaký bug? to bych byl nerad...možná je to nějaká blbost, překlep atp., ale nic nevidim
pardon, sem trochu nervozni

díky moc za pomoc




Tak už na to přišel imploder, je to kvůli středníku za podmínkou
(ach jo)

tak snad to aspoň pomůže kdyby měl někdo podobný problém
Toto téma je uzamčeno. Odpověď nelze zaslat.