آشنایی با متغیرها در php
برای ذخیرهسازی اطلاعات در PHP از متغیرها استفاده میشود.
متغیرها به ما این امکان را میدهند که دادهها را در طول اجرای برنامه ذخیره کرده و از آنها استفاده کنیم.
به عنوان مثال، زمانی که قصد داریم ورودیهای یک تابع را ذخیره کنیم، یا میانگین نمرات دانشآموزان را محاسبه کنیم، از متغیرها استفاده میکنیم.
نحوه تعریف متغیرها در php
برای تعریف متغیرها در PHP، باید قوانین زیر را رعایت کنید:
- نام متغیر حتما با علامت $ شروع می شود.
- حرف بعد از علامت $ می تواند یکی از حروف a تا z و یا کاراکتر زیرخط (_) باشد.
- حروف دوم به بعد می توانند یکی از حروف a تا z، یکی از اعداد 0 تا 9 و همچنین کاراکتر زیرخط (_) باشد.
- نام متغیر نمی تواند حاوی فاصله (space) باشد.
- نام متغیرها به حروف کوچک و بزرگ حساس می باشند. (case-sensitive)
name; //wrong $_na me; //wrong $_name; //correct $name; //correct $2name; //wrong $%name; //wrong $name%; //wrong $name2; //correct $name==$Name //false
تا زمانی که به یک متغیر مقداری اختصاص داده نشده باشد، آن متغیر تعریف نشده است و استفاده از آن باعث بروز خطا میشود. برای مقداردهی به متغیرها از علامت = استفاده میشود.
$brand; $site = 'www.novintech.info'; echo $brand; //output: error undefined variable echo $site; //output: www.novintech.info
تغییر مقدار متغیرها
یکی از ویژگیهای مهم متغیرها این است که مقدار آنها در طول اجرای برنامه میتواند تغییر کند.
در PHP، برخلاف بسیاری از زبانهای برنامهنویسی، نیاز به تعریف نوع متغیر نداریم و PHP به طور خودکار نوع متغیر را بر اساس مقدار آن تشخیص میدهد.
$brand = 'novintech.info'; $brand = 'www.novintech.info'; echo $brand; //output: www.novintech.info
پاس دادن متغیرها به تابع به صورت Pass by Reference
معمولاً وقتی متغیری به عنوان آرگومان به یک تابع ارسال میشود، تنها “مقدار” متغیر به تابع فرستاده میشود. بنابراین هر تغییری که درون تابع روی آن مقدار انجام شود، تاثیری بر متغیر اصلی خارج از تابع ندارد.
با این حال، در مواقعی نیاز داریم که مقدار متغیر اصلی را نیز درون تابع تغییر دهیم. برای انجام این کار، میتوانیم از تکنیک Pass by Reference استفاده کنیم. برای این منظور کافیست قبل از نام متغیر در تعریف تابع، از علامت & استفاده کنیم.
$x = 1; function addToFirst(&$value) { $value++; } addToFirst($x); echo $x; // output: 2
یک مثال از کاربرد فوق العاده pass by refrence
در مثال زیر، ما یک آرایه چندبعدی داریم که به هر عنصر آن یک ویژگی جدید اضافه میکنیم. این تغییرات به دلیل استفاده از Pass by Reference، به آرایه اصلی منتقل میشود.
$x = Array ( "Items" => Array ( 0 => Array ( "Item" => 211, "Unit" => 11, "Quantity" => 2, "GST" => True ), 1 => Array ( "Item" => 210, "Unit" => 11, "Quantity" => 1, "GST" => True ) ) ); foreach($x["Items"] as &$item) { $item["user"] = 1; } print_r($x); /* Array ( [Items] => Array ( [0] => Array ( [Item] => 211 [Unit] => 11 [Quantity] => 2 [GST] => 1 [user] => 1 ) [1] => Array ( [Item] => 210 [Unit] => 11 [Quantity] => 1 [GST] => 1 [user] => 1 ) ) )*/
متغیرها یکی از پایهایترین مفاهیم در PHP هستند که امکان ذخیره و دسترسی به اطلاعات در طول اجرای برنامه را فراهم میکنند. درک نحوه تعریف، مقداردهی و استفاده از تکنیک Pass by Reference میتواند به شما در مدیریت بهتر دادهها در PHP کمک کند.
آموزش بعدی >> آشنایی با scope یا حوزه تعریف متغیرها در php