phpبرنامه نویسی

توابع کاربردی پی اچ پی (php) بخش اول

معرفی توابع کاربردی زبان برنامه نویسی 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,'-','/'); //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

 

یوسف وفایی

فارغ التحصیل کارشناسی IT، علاقه مند به برنامه نویسی و علم امنیت، عاشق یادگیری حرفه های جدید، کنجکاو برای همه چیز، همچنین همیشه تلاش میکنم تا به هدفم برسم...

‫2 دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا