Autor | Zpráva | ||
---|---|---|---|
jan99 Profil * |
#1 · Zasláno: 15. 11. 2011, 22:43:06
Ahoj, vsiml jsem si ze mi php vraci spatna data:
<?php $unix = array('1293861600','1294466393','1294552792','1294639191'); $dny = array(01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31); foreach($unix as $z){ $den = date('d',$z); var_dump($den); var_dump(in_array($den, $dny)); } ?> Vysledek: string '01' (length=2) boolean true string '07' (length=2) boolean true string '08' (length=2) boolean false string '09' (length=2) boolean false Je to bug nebo proc 08 a 09 vraci false?? Jine cisla funguji (01,02, .. 07, .. 09 ..)! Jde stim neco delat? Diky |
||
Aleš Janda Profil |
#2 · Zasláno: 15. 11. 2011, 22:57:05
Celá čísla začínající nulou je zápis v osmičkové soustavě. Zkusil jsem si, že nesmyslný zápis 08 a 09 PHP vezme prostě jako 0, takže je pak jasné, že skutečná 8 a 9 v poli není.
Tenhle osmičkový zápis je zdrojem častých chyb nejen v PHP. |
||
jan99 Profil * |
#3 · Zasláno: 15. 11. 2011, 23:15:37
Aleš Janda:
Aha, člověk se má pořád co učit.. Díky |
||
Nox Profil |
#4 · Zasláno: 16. 11. 2011, 08:03:05
Proto u
intval |
||
Časová prodleva: 12 let
|
0