عرض مشاركة واحدة
مشرف قسم PHP
تاريخ التسجيل: May 2007-
#4 (permalink)  

عفواً ، طريقتك معقدة وأرى فيها حتى أخطاء منطقية ( خوارزمية ) ..

يجب علينا دائماً التفكير بالحلول الأبسط والأسهل علينا كمبرمجين ، لا تنسي أنك ستعودين لقراءة الكود لاحقاً لتطويره أو مراجعته ، كلما كان أبسط فالمراجعة أسهل .

غير ذلك ، أرى أن لديك خلل بسيط في فهم عمل دالة mktime ، فهي لم تقبل في حياتها أن نمرر لها تاريخاً وتحوّله لنا إلى ثوانٍ ، عمل mktime هو تمرير الشهر واليوم والسنة والساعة والدقيقة والثانية ، كي تحوّلها لنا إلى ثوانٍ ( نظام Unix Timestamp ) .. للمزيد: PHP: mktime - Manual

اقتباس:
لكني لا أريد استخدام دالة explode لأن المستخدم قد يدخل التاريخ بطريقة مختلفة "- أو / "
إذا كانت هذه هي المشكلة الوحيدة لديك ، فهناك حلول أسهل:
كود PHP:
<?php
 $date 
'2008 - 05 - 23';
 
$months 5;
 list(
$y$m$d) = split('[/.-]'$date);
 echo 
$expiry_date date('Y/m/d'mktime(000$m $months$d$y));
?>
تحياتي، أشرف السمهوري






__________________
[هل] سيتحقق الحلم؟
هذا ما ستخبرنا به الأيام :) ..

التعديل الأخير تم بواسطة : أشرف السمهوري بتاريخ 23-05-2008 الساعة 10:18 AM.
أشرف السمهوري غير متواجد حالياً   قديم 23-05-2008, 10:17 AM
رد مع اقتباس