Portál AbcLinuxu, 10. května 2025 06:03

Dotaz: PHP - funkce microtime vrací nesmyslný výsledek

31.7.2013 10:35 Dědek
PHP - funkce microtime vrací nesmyslný výsledek
Přečteno: 312×
Odpovědět | Admin
$start = microtime(true);
#obsah stánek
sleep(1); #zastavíme zpracování na 1 sekundu
$end = microtime(true);
$total = $end - $start;
echo 'Zpracováno za $total sekund.'; #Výsledek: -1375259628.8843 sekund. 
Poradí někdo co je špatně? Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.7.2013 10:51 Kit
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Stejného výsledku jsem dosáhl, pokud jsem v příkladu místo apostrofů použil uvozovky (mají tam být uvozovky) a napsal
$end = microtime(false);
Takže si ten řádek ještě jednou zkontroluj.
31.7.2013 11:02 Dědek
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
Stejného výsledku jsem dosáhl, pokud jsem v příkladu místo apostrofů použil uvozovky (mají tam být uvozovky) a napsal
$end = microtime(false);
Tak že ti to taky nefunguje i když sis to opravil? :-D
31.7.2013 11:19 Kit
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
Když tam dám true, tak mi to funguje správně. Když tam dám false, tak dostanu stejný výsledek, jaký ti vyšel.

Je lepší místo opisování ten program vyříznout a vložit. Nemuseli bychom se tu pak dohadovat kvůli uvozovkám. Pro úplnost zde je skript, který mi funguje:
<?php
$start = microtime(true);
sleep(1); #zastavíme zpracování na 1 sekundu
$end = microtime(true);
$total = $end - $start;
echo "Zpracováno za $total sekund."; #Výsledek: 1.000207901001 sekund.
Tarmaq avatar 31.7.2013 11:23 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
naznacil, ze tam mas chybu "apostrofy vs. uvozovky" a ze podobneho vysledku dosahnul pokud oproti uvedemu prikladu predal funkci microtime hodnotu false, coz zpusobi ze funkce vraci string namisto floatu, takze je pak to odcitani chybne.
Don't panic!
31.7.2013 11:26 Kit
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
Prostě v té podobě, jaké jsi to poslal (až na ty uvozovky) to funguje. Hledal jsem způsoby, jak to udělat špatně. Zjistil jsem, že těch způsobů jak to udělat špatně je hodně. U mnoha z nich PHP zahlásí Notice, ale pokud je máš potlačené (default), tak nic neuvidíš. Tak si zkus ty Notice zapnout.
31.7.2013 11:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP - funkce microtime vrací nesmyslný výsledek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máš to rozbité (nebo php4):
<?php
$start = microtime(true);
sleep(1);
$end = microtime(true);
$total = $end - $start;
echo "Zpracováno za $total sekund."; //uvozovky!

Vrací na OS:
Zpracováno za 1.0007719993591 sekund.
na Win:
Zpracováno za 0.99939298629761 sekund.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.