في PHP ، يتم تمثيل معظم تنسيقات الوقت من خلال الطوابع الزمنية لـ UNIX ، كما أن الطوابع الزمنية UNIX هي وحدات من وقت القياس في S (ثواني) كوحدة أصغر. هذا ليس دقيقًا بما يكفي لبعض التطبيقات ، بحيث يمكن استدعاء Microtime () لإرجاع الطابع الزمني UNIX الحالي والرقم الدقيق. النموذج الأولي لهذه الوظيفة هو كما يلي:
نسخة الكود كما يلي:
microtime مختلط ([bool get_as_float]) ؛ // إرجاع الطابع الزمني لـ UNIX الحالي والرقم الدقيق
يمكن توفير معلمة منطقية اختيارية لهذه الوظيفة. إذا لم يتم توفير هذه المعلمة أثناء الاتصال ، فإن هذه الوظيفة تُرجع سلسلة بتنسيق "MSEC SEC". عندما يكون SEC هو عدد الثواني من عصر UNIX إلى الوقت الحاضر ، في حين أن MSEC هو الجزء الدقيق ، ويتم إرجاع كلا الجزأين من السلسلة في ثوانٍ. إذا تم إعطاء معلمة GET_AS_FLOAT وكانت قيمتها مكافئة لـ TRUE ، فإن Microtime () إرجاع رقم الفاصلة العائمة. لا تزال النقطة العشرية ممثلة بتنسيق الطابع الزمني ، في حين أن النقطة العشرية تتبعها قيمة خفية. ولكن يرجى ملاحظة أن المعلمة get_as_float تمت إضافتها حديثًا في إصدار php5.0 ، لذلك في الإصدارات السابقة من php5 ، لا يمكنك استخدام هذه المعلمة مباشرة لطلب رقم نقطة عائم مباشرة. في المثال التالي ، تسمى وظيفة MicroTime () مرتين لحساب الوقت اللازم لتشغيل البرنامج النصي PHP. الرمز يشبه هذا:
نسخة الكود كما يلي:
<؟ PHP
// الحياة فئة تحسب وقت تشغيل البرنامج النصي
مؤقت الفئة {
$ $ startTime = 0 ؛ // احفظ الوقت الذي يبدأ فيه البرنامج النصي (حفظ في microseconds)
$ $ stoptime = 0 ؛ // احفظ الوقت الذي ينهي فيه البرنامج النصي التنفيذ (حفظ في microseconds)
// استدعاء في البرنامج النصي ، ابدأ في الحصول على قيمة microsecond لوقت بدء البرنامج النصي
وظيفة start () {
$ this-> startTime = microtime (true) ؛ // تعيين الوقت الذي تم الحصول عليه إلى سمة العضو $ $ startime
}
// قيمة microsecond لنهاية البرنامج النصي باستخدام البرنامج النصي في نهاية البرنامج النصي
وظيفة STOP () {
$ this-> stoptime = microtime (true) ؛ // تعيين الوقت الذي تم الحصول عليه إلى سمة الأعضاء $ stoptime
}
// إرجاع الفرق في الوقت الذي تم الحصول عليه مرتين في نفس البرنامج النصي
وظيفة تنفق () {
// بعد الحساب ، 4 الجولة 5 ، احجز 4 بتات للعودة
Return Round (($ this-> stoptime- $ this-> startTime) ، 4) ؛
}
}
$ timer = new timer () ؛
$ timer-> start () ؛ // استدعاء هذه الطريقة عندما يبدأ ملف البرنامج النصي في التنفيذ
Usleep (1000) ؛ // محتوى السمة من البرنامج النصي ، هنا يمكنك النوم لمدة ميلي ثانية واحدة كمثال
$ timer-> stop () ؛ // استدعاء هذه الطريقة في نهاية ملف البرنامج النصي
صدى "حان الوقت لتنفيذ البرنامج النصي <b>". $ timer-> send (). "</b>" ؛
؟>
في البرنامج النصي أعلاه ، أعلن عن توقيت فئة يستخدم لحساب وقت تنفيذ البرنامج النصي. تحتاج إلى استدعاء طريقة START () في هذه الفئة في بداية تنفيذ البرنامج النصي للحصول على الوقت الذي يبدأ فيه البرنامج النصي في التنفيذ. واتصل طريقة STOP () في هذه الفئة في نهاية تنفيذ البرنامج النصي للحصول على الوقت الذي يعمل فيه البرنامج النصي. بعد ذلك ، من خلال الوصول إلى طريقة SERN () في هذه الفئة ، يمكنك الحصول على الوقت اللازم لتشغيل البرنامج النصي.