ادامه معرفی توابع کاربردی زبان برنامه نویسی PHP
توابع کار با ارایه ھا
این تابع یک متغیر را به عنوان ارگومنت دریافت می کند و بررسی می کند که ایا متغیر یک ارایه ھست یا نه.
is_array()
این تابع به عنوان ارگومنت یک ارایه را دریافت می نماید و کلید و مقدار عنصر جاری را برمیگرداند.
each()
تعدادی متغیر را به عنوان ارگومنت دریافت می کند و عناصر ارایه را به انھا اختصاص میدھد. این تابع تنھا با ارایه ھای ایندکس دار کار میکند.
$arr = array(a,b,c,c); list($a,$b,$c) = $arr; echo $b; //output b
این تابع امکان پیمایش عناصر ارایه را فراھم میکند وبا استفاده از آن دیگر نیازی به حلقه نیست. این تابع دو ارگومنت دریافت میکند.اولی نام ارایه و دومی نام یک تابع که بوسیله آن عمل مورد نظر را بر روی عناصر انجام دھد.
array_walk()
این تابع یک ارایه را دریافت و عنصر جاری آن را برمیگرداند.
current()
این تابع مرتب کردن ارایه ھا را بر عھده دارد. در این ترتیب اول اعداد بعد علامتھا و در اخر حروف را مرتب میکند. بعد از ترتیب عناصر ایندکس جدید می گیرند.
sort()
این تابع برای مرتب کردن ارایه ھای انجمنی بکار میرود و روش کار او مانند تابع قبلی است. در این تابع ایندکس ھای ارایه تغییر نمیکند.
asort()
این تابع ارایه ھای انجمنی را بر اساس کلید ھای آن مرتب می کند.
ksort()
این تابع یک ارایه را دریافت و عناصر آن را بصورت تصادفی جابجا می کند.
shuffle()
عنصر جاری ارایه را یک واحد به جلو میبرد و آن را به عنوان نتیجه برمیگرداند.
next()
عنصر جاری ارایه را یک واحد به عقب برمیگرداند مقدار برگشتی آن عنصر جاری خواھد بود.
prev()
عنصر جاری را به انتھای ارایه ھدایت میکند و آن را به عنوان مقدار برگشتی برمیگرداند.
end()
این تابع کلیدھا یا اندکس ھای ارایه را برای وجود کلید مورد نظر بررسی میکند. دو ارگومان این تابع به ترتیب نام کلید و نام ارایه است.
array_key_exists()
این تابع ارایه را برای مقدار خاصی جستجو میکند و در صورت پیدا کردن مقدار مورد نظر، کلید آن را برمیگرداند. دو ارگومنت این تابع به ترتیب مقدار مورد نظر و نام ارایه است.
array_search()
یک ارایه را به عنوان ارگومان دریافت و کلیدھای آن را برمیگرداند.
array_keys()
یک ارایه را به عنوان ارگومان دریافت و مقدارھای آن را برمیگرداند.
array_values()
این تابع تعداد عناصر موجود در یک ارایه را برمیگرداند.
count()
استفاده از ساختارھای تکرار جھت پردارش عناصر ارایه.
$arr=array(a,b,c,c); foreach($arr as $val); echo $val;
ترکیب دو یا چند ارایه با ھم با استفاده از تابع زیر انجام میشود. ارگومان ھای این تابع دو یا چند ارایه است.
array_merge()
اضافه کردن یک یا چند مقدار به ارایه با استفاده از تابع زیر انجام میشود. ارگومان اول آن نام یک ارایه و اروگومان ھای بعدی به ھر تعداد عناصری را مشخص میکند که باید اضافه شوند.
array_push()
با این تابع میتوان اولین عنصر یک ارایه را حذف کرد.
array_shift()
بازیابی بخشی از یک ارایه با استفاده از تابع زیر انجام میشود.این تابع دو ارگومان ضروری و یک ارگومان اختیاری دریافت میکند. ارگومان ھا به ترتیب نام ارایه، موقعیت شروع و طول بخش مورد نظر که اگر ارگومنت سومی مشخص نشود بخش مورد نظر از موقعیت شروع تا انتھای ارایه فرض میشود.
array_slice()
این تابع دو ارایه را دریافت میکند و یک ارایه که کلیدھای آن از ارایه اولی و مقدارھای آن از ارایه دومی ساخته شده را برمیگرداند.
$a = array('1', '2', '3'); $b = array('one', 'tow', 'three '); $c = array_combine($a, $b); print_r($c);
این تابع دو ارایه را دریافت و موارد اختلاف (مواردی که در ارایه دومی وجود ندارد) ارایه اولی با ارایه دومی را برمگرداند.
$arr1=array(1,2,3,4); $arr2=array(1,2,5,4); print_r( array_diff($arr1,$arr2)); //Output: 3
این تابع موارد مشترک بین دو ارایه را برمگرداند.
$arr1=array('a','b','c','d'); $arr2=array('g','h','a'); print_r( array_intersect($arr1,$arr2)); //Output: a
تابع زیر دو ارگومنت دریافت میکند اولی ارایه مورد نظر و دومی تعداد عناصری که باید بصورت تصادفی انتخاب شوند.
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); $rand_keys = array_rand($input, 2); echo $input[$rand_keys[0]] . "n"; echo $input[$rand_keys[1]] . "n";
توابع کار با تاریخ و زمان
نشان دادن منطقه زمانی فعلی سیستم.
echo date_default_timezone_get (); //Output: Asia/Tehran
ست کردن منطقه زمانی مورد نظر برای سیستم. در مثال زیر ایران.
(date_default_timezone_set('Asia/Tehran';
تابع زیر تعداد ثانیه ھای گذشته از اول ژانویه ۱۹۷۰ تا زمان حال را برمیگرداند که به آن برچسب زمان نیز میگویند.
//۲۰۱۰/۰۸/۲۹ ۱۴:۴۵:۰۰ time(); //Output: 1283093100
این تابع یک ارایه انجمنی که شامل موارد زیر است را برمیگرداند. این موارد بترتیب: تعداد ثانیه، میکرو ثانیه، اختلاف زمانی با گرینویچ بصورت دقیقه ای و مقدار یک یا صفر که نشانگر جلو بردن ساعت است.
print_r( gettimeofday()); //Output: Array ( [sec] => 1283101344 [usec] => 906252 [minuteswest] => -270 [dsttime] => 1 )
عدد بعد از نقطه میکرو ثانیه است.
echo gettimeofday(true); //Output: 1283101344.906252
خروجی این تابع ھمانند تابع تایم بوده ولی بصورت اعشار، که عدد بعد از اعشار میکرو ثانیه می باشد.
echo microtime(true); //Output: 1283116216.4375
تبدیل تاریخ مورد نظر به ثانیه. این تابع مقدار ثانیه ھای گذشته از تاریخ اول ژانویه ۱۹۷۰ تا تاریخ مورد نظر ما را میدھد. ارگومان ھای این تابع به ترتیب ساعت، دقیقه، ثانیه، ماه، روز و سال ھستند.
echo mktime(10,0,0,8,29,2010); //Output: 1283059800
این تابع کار تابع بالایی را برحسب گرینویچ انجام میدھد.
echo gmmktime(10,0,0,8,29,2010); //Output: 1283076000
خروجی این تابع ھمانند تابع فوق بوده ولی بجای ارقام، نام زمان را بصورت حروفی دریافت میکند.
echo strtotime('28 August 2010'); //Output: 1282953600
زمان حال را نشان میدهد.
echo strtotime("now"); //Output: 1283115424
یکشنبه هفته جاری را نشان میدهد.
echo strtotime("Sunday"); //Output: 1283040000
تابع زیر با استفاده از قالب ورودی تاریخ و زمان را بصورت قالب بندی شده نمایش میدھد. این تابع دو ارگومان اولی اجباری و مجموعه ای از کارکترھای خاص که قالب زمان را تعیین میکنند و دومی اختیاری که یک برچسب زمان است، را دریافت میکند.
لیست کارکترهای قالب بندی
برای بعد از ظهر یا قبل از ظهر بودن از am یا pm
ثانیه s
دقیقه i
ساعت بصورت ۱۲ساعته h
ساعت بصورت ۲۴ساعته H
روز به صورت رقمی d
روز به صورت سه حرفی D
نام کامل روز l
ماه بصورت رقمی m
نام سه حرفی ماه M
نام کامل ماه F
سال Y
زمان حال را نشان میدهد.
echo date('Y/m/d H:i:s'); //Output: 2010/08/29 14:19:02
شیش روز جلوتر را نشان میدهد.
$time = time() + 518400; echo date('Y/m/d',$time); //Output: 2010/09/04
یک روز عقب تر را نشان میدهد.
$time = time() - 86400; echo date('Y/m/d',$time); //Output: 2010/08/28
استفاده از این تابع ھمانند تابع قبلی با این تفاوت که زمان را بر حسب گرینویچ پردازش و نمایش میدھد.
gmdate()
کار این تابع شبیه تابع date میباشد ولی فقط یک کارکتر را به عنوان قالب می پذیرد.
echo idate('Y'); //2010
تابع زیر یک ارایه انجمنی که شامل موارد زیر میباشد را برمیگرداند. این تابع ھمچنین یک برچسب زمان را نیز می پذیرد و زمان مورد نظر را بجای زمان حال محاسبه میکند. این موارد به ترتیب ثانیه، دقیقه، ساعت، روز از ماه، روز از ھفته، ماه از سال، سال، روز از سال نام روز، نام ماه و برچسب زمان ھستند.
زمان حال را نشان میدهد.
print_r( getdate()); //Output: Array ( [seconds] => 37 [minutes] => 38 [hours] => 14 [mday] => 29 //[wday] => 0 [mon] => 8 [year] => 2010 [yday] => 240 [weekday] => Sunday [month] => August [0] => 1283092717 )
یک روز قبل را نشان میدهد.
$time = time() - 86400; print_r( getdate($time)); //Output: Array ( [seconds] => 52 [minutes] => 37 [hours] => ۱۴ [mday] => 28 //[wday] => 6 [mon] => 8 [year] => 2010 [yday] => 239 [weekday] => Saturday [month] => August [0] => 1283006272 )
این تابع چک می کند که تاریخ مورد نظر معتبر است یا نه و نتیجه را بصورت بولین برمیگرداند.
var_dump(checkdate(12, 31, 2000)); //Output: bool(true) var_dump(checkdate(2, 29, 2001)); //Output: bool(false)