اسکریپت باران
بزرگترین مرجع دانلود سورس و اسکریپت های برنامه نویسی
با استفاده از تابع get_defined_vars در PHP ، می توانیم تمامی تابع هایی که تاکنون تعریف کرده ایم را به صورت یک آرایه داشته باشیم (برای نمایش یا استفاده های دیگر). به مثال زیر توجه کنید :
1 2 3 4 5 6 |
<?php $A = array(1,2,3); $B = "hello"; $array_1 = get_defined_vars(); print_r($array_1["A"]); ?> |
نتیجه :
1 |
Array ( [0] => 1 [1] => 2 [2] => 3 ) |
اگر دقت کرده باشید، هنگام نمایش محتوای ذخیره شده در یک متغیر، با استفاده از تابع var_dump، چنانچه میزان اطلاعات ذخیره شده در متغیر از یک حدی بیشتر باشد، آنگاه تابع var_dump تنها بخشی از اطلاعات آن را نمایش می دهد. برای افزایش این مقدار نمایش (حتی تا حدی که همه اطلاعات نمایش داده شوند)، باید مقادیر برخی پارامترها را در فایل php.ini تغییر بدهیم.
این پارامترها در فایل php.ini عبارتند از :
1 2 3 4 5 6 7 8 9 10 11 |
; with sane limits xdebug.var_display_max_depth = 5 xdebug.var_display_max_children = 256 xdebug.var_display_max_data = 1024 ; with no limits ; (maximum nesting is 1023) xdebug.var_display_max_depth = -1 xdebug.var_display_max_children = -1 xdebug.var_display_max_data = -1 |
با استفاده از تابع var_dump در PHP ، می توانیم نوع و مقدار یک متغیر را نمایش بدهیم. اگر متغیر به صورت آرایه ای از عناصر مختلف باشد، آنگاه تابع var_dump ، به خوبی می تواند ساختار متغیر را به ما نشان بدهد، به گونه ای که هم مقادیر عناصر را مشاهده کنیم و هم نوع آن عناصر را متوجه بشویم. به مثال زیر توجه کنید :
1 2 3 4 |
<?php $A = array(1, "dog", array(32, "cat")); var_dump($A); ?> |
نتیجه :
1 |
array(3) { [0]=> int(1) [1]=> string(3) "dog" [2]=> array(2) { [0]=> int(32) [1]=> string(3) "cat" } } |
مشاهده می کنید که نوع و مقادیر عناصر آرایه و ساختار آن، به راحتی قابل تشخیص است.
گاهی نیاز داریم که بدانیم که آیا یک متغیر (با نامی خاص)، قبلا تعریف شده است یا خیر (وجود متغیر یا NULL بودن آن). در اینگونه موارد، باید از تابع isset در PHP استفاده نماییم. همچنین دقت داشته باشید که با استفاده از تابع unset ، می توانیم یک متغیر را حذف کنیم (تبدیل به NULL).
تابع isset در PHP ، یک مقدار بولین (Boolean) را برمی گرداند (یعنی یا true یا false).
به مثال 1 زیر توجه کنید :
1 2 3 4 5 6 7 8 9 10 11 |
<?php $a = 2; $b = isset($a); echo("b = ".$b); echo("<br />"); $c = isset($d); echo("c = ".$c); ?> |
نتیجه :
1 2 |
b = 1 c = |
مشاهده می کنید که مقدار متغیر $b برابر 1 می باشد (یعنی برابر true)، زیرا متغیر $a تعریف شده است. همچنین مقدار متغیر $c برابر false می باشد، زیرا متغیری با نام $d تعریف نشده است.
مثال 2 )
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $a = 2; unset($a); $b = isset($a); echo("b = ".$b); echo("<br />"); echo($a); ?> |
نتیجه :
1 |
b = |
مشاهده می کنید که متغیر $b برابر false می باشد، زیرا با تابع unset ، متغیر $a را حذف کرده ایم. در آخر نیز عمدا سعی کرده ایم کدی را بنویسیم که تولید خطا می کند، یعنی خواسته ایم که مقدار متغیر $a در خروجی چاپ شود، ولی چون دیگر این متغیر وجود ندارد، PHP یک پیام خطا را نمایش داده است. بنابراین بعد از استفاده از تابع unset برای یک متغیر، دیگر آن متغیر وجود ندارد و نمی توانید از آن استفاده کنید.
قبلا گفتیم که با استفاده از تابع gettype در PHP می توان نوع یک متغیر را متوجه شد، اما گاهی نیاز داریم که با یک تابع، بفهمیم که آیا یک متغیر به یک نوع از متغیرها، تعلق دارد یا خیر. برای این موارد، دستورات زیر به کار می روند :
تابع | نوع متغیری که چک می شود |
is_array | array |
is_float یا is_real یا is_double | float |
is_bool | boolean |
is_integer یا is_int یا is_long | integer |
is_string | string |
is_object | object |
با استفاده از تابع settype در PHP می توانیم نوع یک متغیر را تغییر بدهیم. در PHP، متغیرها می توانند به صورت integer ، double ، string ، array یا object باشند. حال چنانچه یک متغیر خاص، از یکی از این انواع متغیرها باشد و ما بخواهیم نوع آن را تغییر بدهیم (مثلا از double به string تغییر بدهیم)، باید از دستور settype در PHP استفاده کنیم. به مثال زیر توجه کنید.
یک متغیر را با نام A و با مقدار 2 تعریف می کنیم، بنابراین نوع متغیر، integer می باشد. سپس با دستور settype ، نوع متغیر را به string تغییر می دهیم :
1 2 3 4 5 6 7 8 9 10 |
<?php $A=2; $A_type=gettype($A); echo($A_type."<br />"); settype($A,"string"); $A_type_new=gettype($A); echo($A_type_new); ?> |
تابع gettype در PHP ، برای تعیین نوع متغیرها به کار می رود و در کدهای PHP بالا، از تابع gettype ، برای تعیین نوع متغیر A استفاده کرده ایم.
نتیجه :
1 2 |
integer string |
مشاهده می کنید که متغیر A ، ابتدا از نوع integer بوده و سپس به string تبدیل شده است.
تابع gettype در PHP برای تعیین نوع یک متغیر به کار می رود. تابع gettype ، یک متغیر را در ورودی خود دریافت می کند و سپس نوع آن متغیر را برمی گرداند.
به مثال 1 زیر توجه کنید :
1 2 3 4 |
<?php $number=2; echo(gettype($number)); ?> |
نتیجه :
1 |
integer |
مشاهده می کنید که نوع متغیر number که integer می باشد، در خروجی نمایش داده شده است.
زمانی که در PHP ، یک تابع تعریف می کنیم، متغیرهای تعریف شده درون تابع، به صورت محلی (local) خواهند بود. منظور از محلی بودن متغیرها، این است که این متغیرها، تنها درون تابع وجود خواهند داشت و در بیرون از تابع، نمی توان از آنها استفاده نمود. برای درک بهتر این موضوع، به کدهای زیر توجه کنید :
1 2 3 4 5 6 7 8 9 10 11 |
<?php $my_variable = 1; function my_function(){ $my_variable = 2; } my_function(); echo $my_variable; ?> |
هر متغیر بولین (Boolean) در PHP ، می تواند دارای یکی از دو مقدار true یا false باشد. بسیاری از توابع تعریف شده در PHP ، یک مقدار بولین را برمی گردانند. همچنین زمانی که ما یک شرط را در PHP چک می کنیم، مقدار بازگشتی از عبارت نوشته شده برای شرط، یک مقدار بولین می باشد.
به مثال 1 زیر توجه کنید :
1 2 3 4 5 6 7 8 9 |
<?php $a = true; echo("a = ".$a); echo("<br />"); $b = false; echo("b = ".$b); ?> |
نتیجه :
1 2 |
a = 1 b = |
مشاهده می کنید که مقدار متغیر $a برابر 1 می باشد که همان معادل true است و مقدار متغیر $b برابر false است.
چنانچه یک آرایه داشته باشیم، می توانیم عناصر این آرایه را در یک رشته، به صورت پشت سر هم، بنویسیم، به گونه ای که هر دو عنصر متوالی با یک علامت خاص از یکدیگر جدا شده باشند. این عمل توسط دستور implode در PHP انجام می شود و همچنین معکوس این عمل (یعنی تبدیل یک رشته که عناصر یک آرایه در آن نوشته شده اند به یک آرایه) را می توان با تابع explode در PHP انجام داد.
بنابراین مثلا اگر بخواهیم یک آرایه تعریف کنیم، با استفاده از تابع explode ، می توانیم ابتدا عناصر آن را در یک رشته به صورت متوالی بنویسیم (با یک علامت در بین آنها) و سپس با دستور explode ، آرایه مورد نظر را بسازیم.
به مثال زیر توجه کنید.
کانال تلگرامی اسکریپت باران
برای اطلاع از آپدیت های این سورس و سورس های دیگر اسکریپت باران، در کانال تلگرام ما عضو شویدبرنامه نویسی را معنایی دوباره بخشیم !