0

بررسی توابع PHP

 
sahel_007
sahel_007
کاربر نقره ای
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 353
محل سکونت : ایران زمین

تابع rand ، تابع ایجاد عدد تصادفی

تابع rand : این تابع یک عدد تصادفی بین 1 تا 32767 را ایجاد می کند البته اگر آرگومان آن تعریف نشود در غیر این صورت یک عدد تصادفی بین حد پایین و حد بالای تعریف شده را به صورت تصادفی ایجاد می کند.

نکته : عدد ایجاد شده در هر بار اجرای تابع ممکن است تکراری باشد.

 

شکل کلی :

rand(min,max)

مثال :

<?php

echo rand() . "<br />";

echo rand() . "<br />";

echo rand(10,100);

?>

 
 

خروجی :

27144
17825
80

دو تابع اول عددی تصادفی بین 1 تا 32767 تولید و چاپ می کند که ممکن است این عدد تکراری هم باشد و تابع سوم عددی تصادفی بین 10 تا 100 را ایجاد می کند.

 

پنج شنبه 12 مرداد 1391  6:55 PM
تشکرات از این پست
sahel_007
sahel_007
کاربر نقره ای
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 353
محل سکونت : ایران زمین

تابع uniqid ، تابع ایجاد شناسه منحصر به فرد تصادفی

تابع uniqid : این تابع یک رشته منحصر به فرد را ایجاد می کند. که شامل رشته قبلی نمی شود یعنی برعکس تابع rand که احتمال ایجاد عدد تکراری بود اینجا وجود ندارد و دارای دو آرگومان است :

  • آرگومان اول : پیشوند ثابت که به اول رشته ایجاد شده توسط تابع الصاق می شود.
  • آرگومان دوم : دو حالت true , false دارد که به طور پیش فرض false است و طول رشته تولیدی 13 کارکتر است و اگر true باشد طول رشته تولیدی 23 کاراکتر می شود البته بدون در نظر گرفتن پیشوند(آرگومان اول) است.

شکل کلی :

uniqid (prefix , more_entropy)

 

مثال :

<?php

echo uniqid(). "<br />";

echo uniqid('',true). "<br />";

echo uniqid('php_',true);

?>

خروجی :

501a955e4c4e8
501a955e4c4ee7.83133945
php_501a955e4c4f82.38270220


در تابع اول، یک رشته تصادفی با طول 13 کاراکتر ایجاد می شود.

 تابع دوم مقدار آرگومان دوم true است و خروجی تابع 23 کاراکتر خواهد بود.

تابع سوم مقدار پیشوند مشخص شده که طول رشته تولیدی 23+4 است.

 

 
پنج شنبه 12 مرداد 1391  7:43 PM
تشکرات از این پست
architect0811
sahel_007
sahel_007
کاربر نقره ای
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 353
محل سکونت : ایران زمین

تابع getrandmax ، تابع ایجاد بزرگترین عدد تصادفی تابع rand

تابع getrandmax : این تابع بزرگترین مقدار تابع rand را برمی گرداند این تابع به تنهای کاربرد نداره و فقط بزرگترین مقداری که تابع rand می تواند ایجاد کند را بر می گرداند(32767)

 

مثال :

<?php

echo getrandmax()."<br />";

echo rand()/getrandmax();

?>

خروجی :

32767
0.22397534104434

 

مقدار تابع اول همیشه 32767 است چون حد تابع rand از 1 تا 32767 است.

خط دوم با هر بار اجرای تابع یک مقدار متفاوت ایجاد می شود که طول آن از 5 بیشتر است.

 
 
جمعه 13 مرداد 1391  4:09 PM
تشکرات از این پست
sahel_007
sahel_007
کاربر نقره ای
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 353
محل سکونت : ایران زمین

تابع getdate ، تابع کار با تاریخ

تابع getdate : این تابع یک آرایه انجمنی که شامل اطلاعات مربوط به زمان است را بر می گرداند که به ترتیب شامل : ثانیه، دقیقه، ساعت، روز از ماه، روز از ھفته،  ماه از سال، سال، روز از سال نام روز، نام ماه و برچسب زمان ھستند.

  • [seconds] - ثانیه
  • [minutes] - دقیقه
  • [hours] - ساعت
  • [mday] - چندمین روز ماه
  • [wday] - چندمین روز هفته
  • [year] - سال
  • [yday] - چندمین روز سال
  • [weekday] - نام روز در هفته
  • [month] - نام ماه در سال
  • [0] - مشخص کننده فرمت زمان در یونیکس

 

نکته : این تابع از تاریخ سرور استفاده می کند اگر شما از برنامه های مانند Easyphp و ... استفاده می کنید از آنجا که به صورت پیش فرض روی اروپا تنظیم شده است این تابع زمانی را که بر می گرداند با سیستم شما مغایر خواهد بود برای حل این مشکل باید به تنظیمات برنامه رفته و Timezone را روی آسیا/ تهران تنظیم کنید. در برنامه Easyphp به این شکل است.

 

 

مثال 1 :

<?php

print_r(getdate());

?>

خروجی :

Array

(

[seconds] => 2

[minutes] => 38

[hours] => 17

[mday] => 4

[wday] => 6

[mon] => 8

[year] => 2012

[yday] => 216

[weekday] => Saturday

[month] => August

[0] => 1344085682

)

همین طور که مشاهده می کنید می تواینم با استفاده از اندیس مشخص شده ای آرایه ای انجمنی تابع تاریخ مقادیر مورد نظر را استفاده کنیم برای درک بهتر به مثال بعد توجه کنید.

 

مثال 2 :

<?php

// تاریخ جاری سیستم را برمیگرداند

$now = getdate();

//ساعت و تاریخ را جداگانه در متغیر ذخیره می شود

$currentTime = $now["hours"] . ":" . $now["minutes"] . ":" . $now["seconds]; $currentDate = $now["year"] . "." . $now["mon"] . "." . $now["mday"];

// result: "It is now 18:7:22 on 2012.8.4 (example)

echo "It is now $currentTime on $currentDate";

?>

خروجی :

 
It is now 18:7:22 on 2012.8.4

ابتدا مقدار خروجی تابع در آرایه now ذخیره شده و سپس با استفاده از اندیس آرایه ها تاریخ و ساعت را جدا کرده و چاپ می کنیم.

شنبه 14 مرداد 1391  6:18 PM
تشکرات از این پست
sahel_007
sahel_007
کاربر نقره ای
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 353
محل سکونت : ایران زمین

تابع date ، تابع تاریخ

تابع date : از اين تابع براي کار با تاريخ استفاده مي شود و يکي از توابع کاربردي و کامل php است که پارامترهاي زيادي دارد که به بررسي آنها مي پردازيم خروجي اين تابع به ميلادي است.

دو آرگومان دارد که اولي فرمت تاريخ را و دومي تاريخ مشخصي را به تابع مي دهد.

 

شکل کلي:

date(الصاق تاريخ , فرمت)

 

فرمتهاي تابع:

فرمت توضيح مقادير بازگشيي
روز --- ---
d چندمين روز ماه به همراه صفرهاي مقدم 01 تا 31
D نمايش متني نام روز هفته (سه حرف) نام روزهاي هفته به صورت مخفف
j چندمين روز ماه بدون صفرهاي مقدم 1 تا 31
l (حرف کوچگ) نمايش  متني کامل روزهاي هفته شنبه تا جمعه
N طبق استاندارد تاريخ و زمان ISO-8601 ، نمايش عددي روزهاي هفته که از دوشنبه شروع مي شود. 1 (براي دوشنبه) تا 7 (براي يکشنبه)
S پسوند ترتيبي انگليسي براي روزهاي يک ماه که دو کاراکتر که با پارامتر j استفاده مي شود. st, nd, rd or th که با j استفاده مي شود
w نمايش عددي روز هفته 0 (براي يکشنبه) تا 6 (براي شنبه)
z چندمين روز سال که از 0 شروع مي شود. 0 تا 365
هفته --- ---
W طبق استاندارد ISO-8601، چندمين هفته سال را نمايش داده که هفته با دوشنبه شروع مي شود. مثال: 42 که 42 مين هفته سال است
ماه --- ---
F نمايش متني يک ماه مانند August January تا December
m نمايش عددي يک ماه به همراه صفرهاي مقدم 01 تا 12
M نمايش متني کوتاه از يک ماه که سه حرفي است. Jan تا Dec
n نمايش عددي يک ماه بدون صفرهاي مقدم 1 تا 12
t نمايش تعداد روزهاي ماه جاري 28 تا 31
سال --- ---
L نشان مي دهد آبا سال کبيسه است 1 اگر سال کبيسه باشد و 0 در غير اين صورت
o طبق ISO-8601 ، عدد سال مثال : 1999 يا  2003
Y نمايش عددي سال ، چهار رقمي مثال : 1999 يا  2003
y نمايش دو رقمي سال مثال: 99 يا  03
زمان --- ---
a نمايش حروف کوچک am يا  pm am يا pm
A نمايش حروف بزرگ AM  يا PM AM  يا PM
B زمان اينترنت(در حالت عادي هر روز 24 ساعت و هر ساعت 60 دقيقه است ولي در سيستم Internet Time هر روز به 1000 بيت و هر بيت يک دقيقه و 26.4 ثانيه است) 000 تا 999
g شکل 12 ساعته يک روز 1  تا 12
G شکل 24 ساعته يک روز 0 تا 23
h شکل 12 ساعته يک روز با صفرهاي مقدم 01 تا 12
H شکل 24 ساعته يک روز با صفرهاي مقدم 00 تا 23
i دقيقه، با صفرهاي مقدم 00 تا 59
s ثانيه، با صفرهاي مقدم 00 تا 59
u ميکرو ثانيه مثال: 654321
Timezone --- ---
e معين کننده منطقه ساعت جهاني ( نصف النهار) مثال : UTC, GMT, Atlantic/Azores
I اختلاف تاريخ در روز 0 وقتي که روز و 1 در غير اين صورت
O اختلاف با ساعت جهاني گرينويچ (GMT) مثال : +0200
P اختلاف با ساعت گرينويچ (added in PHP 5.1.3) مثال : +02:00
T مخفف ساعت جهاني مثال : EST, MDT ...
Z محدوده ساعت جهاني به ثانيه (-43200 تا 43200) -43200 تا 50400
تاريخ و زمان کامل --- ---
c فرمت زماني ISO-8601 2004-02-12T15:19:21+00:00
r فرمت زماني  RFC 2822 مثال : Thu, 21 Dec 2000 16:01:07 +0200
U ثانيه ها بعد از دوره يونيکس (January 1 1970 00:00:00 GMT) See also time()

 

 

مثال :

<?php

echo $today = date("F j, Y, g:i a"). "<br />"; // August 29, 2012, 6:32 pm

echo $today = date("m.d.y"). "<br />"; // 08.29.12

echo $today = date("j, n, Y"). "<br />"; // 29, 8, 2012

echo $today = date("Ymd"). "<br />"; // 20120829

echo $today = date('h-i-s, j-m-y, it is w Day'). "<br />"; // 06-32-27, 29-08-12, 3231 3227 3 Wedpm12

echo $today = date('\i\t \i\s \t\h\e jS \d\a\y.'). "<br />"; // it is the 29th day.

echo $today = date("D M j G:i:s T Y"). "<br />"; // Wed Aug 29 18:32:27 IRDT 2012

echo $today = date('H:m:s \m \i\s\ \m\o\n\t\h'). "<br />"; // 18:08:27 m is month

echo $today = date("H:i:s"). "<br />"; // 18:32:27

?>

خروجي :

August 29, 2012, 6:32 pm
08.29.12
29, 8, 2012
20120829
06-32-27, 29-08-12, 3231 3227 3 Wedpm12
it is the 29th day.
Wed Aug 29 18:32:27 IRDT 2012
18:08:27 m is month
18:32:27

 

شنبه 21 مرداد 1391  6:53 PM
تشکرات از این پست
fardost
fardost
fardost
کاربر نقره ای
تاریخ عضویت : دی 1388 
تعداد پست ها : 987
محل سکونت : خراسان رضوی

پاسخ به:بررسی توابع PHP

خیلی تالارتخصصی ایه

راسخون یارهرروزبهترازدیروز
سه شنبه 24 مرداد 1391  9:31 AM
تشکرات از این پست
architect0811
golzadehreend
golzadehreend
کاربر برنزی
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 4
محل سکونت : خراسان رضوي

ایجاد عدد تصادفی با C

با سلام. اگر بخوام با برنامه C اعداد تصادفی صحیح و بدون تکرار بین 1 و 6 ایجاد کنم باید چیکار کنم؟!!! خیلی خیلی فوررری crying

پنج شنبه 10 اسفند 1391  2:04 PM
تشکرات از این پست
golzadehreend
golzadehreend
کاربر برنزی
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 4
محل سکونت : خراسان رضوي

ایجاد عدد تصادفی با C

با سلام. اگر بخوام با برنامه C اعداد تصادفی صحیح و بدون تکرار بین 1 و 6 ایجاد کنم باید چیکار کنم؟!!! خیلی خیلی فوررری crying

پنج شنبه 10 اسفند 1391  2:07 PM
تشکرات از این پست
golzadehreend
golzadehreend
کاربر برنزی
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 4
محل سکونت : خراسان رضوي

ایجاد عدد تصادفی با C

با سلام. اگر بخوام با برنامه C اعداد تصادفی صحیح و بدون تکرار بین 1 و 6 ایجاد کنم باید چیکار کنم؟!!! خیلی خیلی فوررری crying

پنج شنبه 10 اسفند 1391  2:07 PM
تشکرات از این پست
cooper
cooper
کاربر برنزی
تاریخ عضویت : شهریور 1388 
تعداد پست ها : 689
محل سکونت : سمنان

پاسخ به:بررسی توابع PHP

ممکن هست اموزش فریم ورک ها روهم قرار دهید

Learn from yesterday, live for today,hope for tomorrow.The important thing is not to stop questioning.
Albert Einstei

 

جمعه 11 اسفند 1391  2:21 PM
تشکرات از این پست
دسترسی سریع به انجمن ها