معرفی توابع کاربردی زبان برنامه نویسی PHP
توابع و کلاس های از پیش تعریف شده هر زبان برنامه نویسی، قدرت و توانایی آن زبان را نمایان میکند. زبان قدرتمند تحت وب پی اچ پی با داشتن نزدیک به ۵۹۰۰ تابع از پیش تعریف شده یکی از قدرتمند ترین زبان های برنامه نویسی به شمار می آید. البته مطالعه و به خاطر سپردن این همه تابع کاری بسیار دشواری است به همین جهت سعی کردیم تا در این آموزش، پرکاربردترین آنها را همراه با مثال بیان کنیم.
توابع کار با داده ها و متغیرھا
این تابع برای تغییر انواع داده بکار میرود.دو ارگومنت آن به ترتیب نام متغیر و یکی از انواع داده است.
settype()
این تابع برای بررسی نوع داده یک متغیر استفاده میشود و مقدار بازگشتی آن نوع داده متغیر است.
gettype()
اطلاعاتی درمورد متغیر ھمانند نوع داده و مقدار آنرا برمیگرداند.
var_dump()
این تابع بررسی میکند که ایا نوع داده ی متغیر بولین است یا نه.
is_bool()
این تابع بررسی میکند که ایا نوع داده ی متغیر عدد صحیح است یا نه.
is_int()
این تابع بررسی میکند که ایا نوع داده ی متغیر عدد اعشاری است یا نه.
IS_FLOAT()
این تابع بررسی میکند که ایا نوع داده ی متغیر یک شی است یا نه.
is_object()
این تابع بررسی میکند که ایا متغیر خالی است تا مقدار ۱ را برگرداند. مواردی ھمچون ” ” , NULL , FALSE , 0 نیز خالی به حساب می ایند.
$var=""; if (empty($var)) echo 'empty'; //output: empty
این تابع بررسی میکندکه ایا متغیر مورد نظر ست شده یا به عبارتی تھی نباشد که در این صورت مقدار ۱ را برمیگرداند.
$var; if (! isset($var) ) echo 'is not set'; //output: is not set
گرفتن مقدار متغیر یا خالی کردن ان. این تابع ھمزمان میتواند بیش از یک ارگومنت را دریافت کند.
$a = 52; $b = 'str'; $c = true; unset($var,$var2,$var3);
توابع کار با اعداد(ریاضی)
یافتن کوچکترین عدد بین چندین عدد با استفاده از تابع زیر است.
echo min(5,3,6); //output: 3
این تابع برعکس تابع بالایی کار میکند.
echo max(5,3,6); //output: 6
این تابع عدد را به سمت بالا گرد میکند.
echo ceil(1.4); //output: 2
این تابع عدد را به سمت پایین گرد میکند.
echo floor(1.6); //output: 1
این تابع عدد را به نزدیکترین عدد کامل,گرد میکند. ھمچنین ارگومانی بصورت اختیاری را برای تعیین دقت محاسبه دریافت میکند.مثال زیر عدد را تا دو رقم اعشار گرد میکند.
echo round(2.590,2); //output: 2.59
شما ھمچنین میتوانید با دادن عدد منفی بعنوان ارگومان دوم ,اعداد صحیح را روند کنید.
echo round(2599,-2); //output: 2600
تولید اعداد تصادفی با استفاده از توابع زیر. این دو تابع دو ارگومان اختیاری دریافت میکنند که محدوده انتخاب را تعیین میکنند.
rand() mt_rand(50,100)
تابع زیر کارتقسیم (گروه بندی) عدد به ھزارگان ھمراه با گرد کردن اعشار را انجام میدھد. این تابع میتواند یک یا دو و یا چھار ارگومان دریافت کند. ارگومنت اول عدد مورد نظر، ارگومنت دوم دقت اعشار و ارگومنت سوم و چھارم کارکترھای جدا کننده ھستند.
echo number_format(1000000); //output: 1,000,000 echo number_format(1000000.356,2); //output: 1,000,000.36 echo number_format(1000000.356,2,'-',"https://kaliboys.com/"); //output: 1/000/000-36
تابع زیر برای قالب بندی مقادیر پولی به کار میرود دو ارگومان این تابع به ترتیب فرمت قالب بندی و عدد مورد نظر میباشند. البته این تابع در ویندوز قابل استفاده نیست.
money_format()
تبدیل باینری به دسیمال
echo bindec(1010); //output 10
تبدیل دسیمال به باینری
echo decbin(10); //output 1010
تبدیل باینری به ھگزا
echo bin2hex(1010); //output 31303130
تبدیل دسیمال به ھگزا
echo dechex(10); //output a
تبدیل ھگزا به دسیمال
echo hexdec(a); //output 10
تبدیل دسیمال به اکتال
echo decoct(100); //output 144
تبدیل اکتال به دسیمال
echo octdec(144); //output 100
این تابع برای بدست اوردن جذر یک عدد بکار میرود.
echo sqrt(9); //output 3
برای بدست اوردن توان یک عدد از تابع زیر استفاده میشود. ارگومان ھای این تابع به ترتیب پایه و توان میباشند.
echo pow(2,3); //output 8
توابع کار با رشته ھا
با استفاده از این تابع می توان به قالب بندی متون ونمایش آنھا برروی خروجی پرداخت. این تابع دو ارگومان دریافت میکند که اولی قالبی با استفاده از دستور العمل ھای خاص و ارگومان دوم متن مورد نظر میباشد.
انواع داده های قالب بندی به صورت زیر میباشند:
d: خروجی را به عنوان عدد صحیح دسیمال نمایش میدهد.
b: خروجی را به عنوان عدد صحیح دودویی نمایش میدهد.
c: خروجی را به عنوان کد اسکی نمایش میدهد.
f: خروجی را به عنوان عدد اعشاری نمایش میدهد.
o: خروجی را به عنوان عددی در مبنای هشت یا اکتال منایش میدهد.
x: خروجی را به عنوان عددی در مبنای شانزده یا هگزادسیمال نمایش میدهد.
s: خروجی را به عنوان رشته نمایش میدهد.
مثال اول:
printf("%d",52.256); // output 52 printf("%f",52.256); // output 52.256000
مثال دوم:
printf("%.2f",52.256); //output 52.26
مثال سوم:
$r=0; $g=228; $b=255; printf("#%02X%02X%02X",$r,$g,$b); //output #00E4FF
ھمانند تابع قبلی با این تفاوت که بجای چاپ بر روی نمایشگر میتوان مقدار آن را در متغیر ذخیره کرد.
sprintf();
این تابع تعداد کارکتر یک رشته را برمیگرداند.
strlen();
یافتن یک رشته کوچک در رشته بزرگتر. دو ارگومنت این تابع به ترتیب رشته جستجو شونده و رشته مورد جستجو میباشند.
$x='salam man saman hastam'; if(strstr($x,'saman')) echo 'yes'; //output yes
یافتن موقعیت یک رشته کوچک در رشته بزرگ. دو ارگومنت این تابع به ترتیب رشته جستجو شونده و رشته مورد جستجو میباشند.
$x='salam man saman hastam'; echo strpos($x,'saman'); //outpu t 10
با این تابع میتوانیم بخشی از یک رشته را استخراج کنیم. این تابع سه ارگومنت را دریافت می کند که ارگومنت سوم اختیاری است. ارگومنت اول یک رشته ,ارگومنت دوم یک عدد است که موقعیت شروع میباشد. همچنین ارگومنت سوم تعداد کارکترھای مورد نظر جھت استخراج است.
$x='salam man saman hastam'; echo substr($x,10,5); //output saman
تجزیه رشته به اجزای کوچکتر با استفاده از این تابع. دو ارگومنت این تابع به ترتیب رشته مورد نظر و علامتی که فرایند تجزیه رشته را تعیین میکند.
$x='salam || man || saman || hastam'; $flag='||'; $word=strtok($x,$flag); while(is_string($word)){ echo "$word<br>"; $word=strtok($flag); }
کار این تابع مانند تابع قبلی است با این تفاوت که مقدار بازگشتی را در ارایه ذخیره میکند. این تابع رشته مورد نظر را با استفاده از علامت مشخص
شده به اجزای کوچکتر تقسیم کرده و در یک ارایه ذخیره میکند.
$x='2010-07-25'; $y= explode('-',$x); print_r ($y); //output Array ( [0] => 2010 [1] => 07 [2] => 25 )
جایگزین کردن رشته ها. این تابع تمامی نمونھ های یک رشته را با رشته جدید تعویض میکند. این تابع سه ارگومان را دریافت میکند که اولی نمونه رشته مورد
جستجو,دومی رشنه جایگزینو سومی رشته اصلی است که عملیات تعویض بر روی بخشھای آن صورت میگیرد.
$x='salam man saman hastam'; echo str_replace("saman","ali",$x);//output salam man ali hastam
حذف تگھای html و javascript
strip_tags()
حذف فضای خالی ابتدای رشته
ltrim()
حذف فضای خالی انتھای رشته
rtrim();
حذف فضای خالی ابتدا و انتھای رشته
trim()
با این تابع میتوانید تمام حروف یک رشته را به حروف بزرگ تبدیل کنید.
strtoupper()
با این تابه میتوانید تمام حروف یک رشته را به حروف کوچک تبدیل کنید.
strtolower()
بوسیله این تابع میتوان حرف اول تمامی کلمات یک رشته را به حروف بزرگ تبدیل کرد.
ucwords()
با استفاده از تابع زیر می توان علایم خط جدید را در رشته به خط جدید در html تبدیل کرد.
n convert to <br> nl2br()
قالب بندی متون با استفاده از تابع زیر میباشد. این تابع یک ارگومان از نوع رشته,و دو ارگومان اختیاری دریافت میکند که اولین ارگومان اختیاری عدد صحیحی است که تعداد کارکتر قالب بندی شده را مشخص میکند. دومین ارگمان اختیاری, رشته ای است که بعد از تعداد کارکتر تعیین شده قرار میگیرد. در صورتی که فقط ارگومان اولی را به تابع بدھیم، تابع متون دریافی را در قالب خطوطی که شامل ۷۵ کارکتر است را قالب بندی خواھد کرد.
$string = '123456789'; echo wordwrap($string, 3, '-',true); //output 123-456-789
تطبیق الگوھا با استفاده از تابع زیر میباشد . این تابع سه ارگومان دریافت میکند که ارگومنت سومی اختیاری است. اروگومنت اول یک عبارت منظم است ارگومنت دوم رشته ای است که فرایند جستجو در آن انجام میشود. ارگومنت سوم یک ارایه است که موارد تطبیق شده ی درون رشته را ذخیره میکند.
$str="salam ali man saman hastam"; preg_match ("#(saman|ali|hoseyn)#", $str,$array); // return $array = ali
جایگزین کردن الگوھا با استفاده از تابع زیر این تابع سه ارگومان دریافت میکند. اولین ارگومان یک عبارت منظم جھت تطبیق الگوھا است. دومین ارگومان رشته جایگزین وسومین ارگومان رشته اصلی را مشخص میکند البته ارگومان چھارمی را نیز بصورت اختیاری میپذیرد.این ارگومان عدد صحیحی است که حد اکثر تعداد جایگزینی را مشخص میکند.
$value="salam ali man saman hastam"; $value = preg_replace ("#(ali|saman)#", "...", $value); echo $value; //output salam ... man ... hastam