הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה בעיצוב לולאת PHP (https://hosts.co.il/forums/showthread.php?t=49086)

Eran-s 06-07-07 18:09

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 515460)
בתור קומפיילר תבדוק בעצמך.

אני לא קומפיילר, חשבתי אולי אתה.
תבדוק עם MIRCOTIME במשך 1000 פעמים ונעשה ממוצע.
אי אפשר לקבוע דברים בלי לבדוק אותם,
לך תדע איך בדיוק מתבצע החישוב הקטן הזה.

BlueNosE 06-07-07 18:58

אם לא הבנת באמת בדקתי את זה (לא עם 1000 אבל עם 100 כן).

Eran-s 06-07-07 19:02

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 515517)
אם לא הבנת באמת בדקתי את זה (לא עם 1000 אבל עם 100 כן).

עשית ממוצע? תביא תוצאות

BlueNosE 06-07-07 19:14

השיטה שלי:

0.00074100494384766
0.00080394744873047
0.000885009765625

PHP קוד:

<?php
list ($usec$sec) = explode (" "microtime());
$Start = ((float)$usec + (float)$sec);


$i 0;
$r 0;
    while (
$r <= 1000)
    {
    
$i++;
    
$r++;
        if (
$i == 2)
        {
        
$i 0;
        
$bgColor "#dfkjddfk";
        }
        else
        
$bgColor "#fdgddg";
    }


list (
$usec$sec) = explode (" "microtime());
$End = ((float)$usec + (float)$sec);

echo 
$End $Start;
?>


השיטה השניה:

0.013705015182495
0.0012309551239014
0.00081014633178711

PHP קוד:

<?php
list ($usec$sec) = explode (" "microtime());
$Start = ((float)$usec + (float)$sec);


$i 1;
$r 0;
    while (
$r <= 1000)
    {
    
$i++;
    
$r++;
        if (
$i &#37; 2 == 0)
        
$bgColor "#dfkjddfk";
        else
        
$bgColor "#fdgddg";
    }


list (
$usec$sec) = explode (" "microtime());
$End = ((float)$usec + (float)$sec);

echo 
$End $Start;
?>

בתוצאה האחרונה אין הבדל, ב2 הראשונות? ההבדל משמעותי.


שכחתי לציין, PHP 5.2.0, על סביבת Windows.

RS324 06-07-07 19:18

סתם לידע כללי
לחשב את הזמן יהיה הרבה יותר טוב לעשות ככה :

PHP קוד:

$start array_sum(explode(' ',microtime())); 

לגבי מה שאמרתם ה %2 הוא יותר טוב כי עם ה == אתה כל פעם צריך לאפס את I

Eran-s 06-07-07 19:31

ציטוט:

נכתב במקור על ידי RS324 (פרסם 515532)
סתם לידע כללי
לחשב את הזמן יהיה הרבה יותר טוב לעשות ככה :

PHP קוד:

$start array_sum(explode(' ',microtime())); 

לגבי מה שאמרתם ה %2 הוא יותר טוב כי עם ה == אתה כל פעם צריך לאפס את I

זה בדיוק מה שניסיתי להגיד...

BlueNosE 06-07-07 19:45

אבל עובדה שלא O.ם


כל הזמנים הם GMT +2. הזמן כעת הוא 04:50.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ