• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یک نکته جالب در مورد اعداد
#1
به نظر شما 09 با 9 تو php چه فرقی داره ؟ شاید تو نگاه اول هیچی ولی ...

شاید اکثرا بدونید ولی برا اونایی که نمیدونن میگم
تو php وقتی قبل از اعداد یه 0 بزاریم php اونو به عنوان یه عدد اوکتال میشناسه و چون 9 و 8 تو سیستم اوکتال از اعداد نامعتبرن ممکنه باعث خطا تو برنامه بشه

شاید بگید خوب که چی ؟ Big Grin ولی اگه این نکته رو تو نوشتن برنامه هاتون رعایت نکنید ممکنه با اشتباه تو محاسباتتون مواجه بشید

به عنوان مثال
کد پی‌اچ‌پی:
echo date("m-d-Y"mktime(0001192006)); 

خروجی زیر رو میده که درسته
کد:
11-09-2006

ولی این کد که تو یه نگاه شاید با قبلی فرقی نکنه خروجی اشتباه میده
کد پی‌اچ‌پی:
echo date("m-d-Y"mktime(00011, 09, 2006)); 
که خروجیش میشه
کد:
10-31-2006

امیدوارم مفید بوده باشه
  پاسخ
تشکر شده توسط : parvane oia zoghal molana
#2
من جزء اونهایی بودم که نمی دونستن
  پاسخ
تشکر شده توسط :
#3
منم هم همینطور
  پاسخ
تشکر شده توسط :
#4
در مورد صفر می دونم البته اگر هم 0x بزارید میشه هگزادسیمال
ولی ربطش به date نفهمیدم
  پاسخ
تشکر شده توسط :
#5
نقل قول:ولی ربطش به date نفهمیدم

اگه توجه میکردی ربطشو میفهمیدی
  پاسخ
تشکر شده توسط :
#6
اگر منظورت این هست که توی date باید این موضوع توجه کرد باید بگم خیر چون date یک نوع string بر می گردونه و مثلا وقتی که می‌نویسیم
کد پی‌اچ‌پی:
$a="055";
echo (
$a+2); 
خروجی 57 هست
اما وقتی که می نویسیم
کد پی‌اچ‌پی:
$a=055;
echo (
$a+2); 
خروجی 47 هست
  پاسخ
تشکر شده توسط :
#7
(۱۳۸۸ تير ۰۷, ۰۸:۲۰ ب.ظ)admin نوشته: اگر منظورت این هست که توی date باید این موضوع توجه کرد باید بگم خیر چون date یک نوع string بر می گردونه و مثلا وقتی که می‌نویسیم
کد پی‌اچ‌پی:
$a="055";
echo (
$a+2); 
خروجی 57 هست
اما وقتی که می نویسیم
کد پی‌اچ‌پی:
$a=055;
echo (
$a+2); 
خروجی 47 هست

میدونم وحید عزیز
به عنوان مثال گفتم وقتی بجای
کد پی‌اچ‌پی:
echo date("m-d-Y"mktime(0001192006)); 
به اون 9 تو mktime توجه کن
بنویسی

کد پی‌اچ‌پی:
echo date("m-d-Y"mktime(00011, 09, 2006)); 

خروجیهاش فرق میکنه و ممکنه اشتباه تو برنامه پیش بیاد ( تنها مثالی بود که به ذهنم رسید برای رسوندن مطلبم )

خدا کنه تونسته باشم منظورمو برسونم
  پاسخ
تشکر شده توسط : admin
#8
درسته حواسم رفت پیش خروجی date
ممنون
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان