متغیرها و اپراتورها و آرایهها
در این فصل آشنایی با مفاهیم متغیرها و اپراتورها و آرایهها و نحوه بکارگیری آنها آموزش داده می شود.
لازمه آشنائی با هر زبان برنامه نویسی شناخت متغیرها و اپراتورها و آرایهها در آن زبان می باشد در این فصل به معرفی آنها پرداخته و با ذکر مثال و توضیح سعی بر آشنایی بیشتر و کاملتر با این زبان شیرین برنامه نویسی را داریم.
- تعریف متغیر (Variables )
روش تعریف متغیر بسیار ساده می باشد و داده ها در این زبان بصورت خودکار نسبت به مقدار داده شده عکسالعمل نشان میدهند .
: روش اول var $name = null; |
: روش دوم $name = "Alireza Balvardi"; |
روش اول در کلاسها استفاده میگردد و در حالت عادی قابل قبول نمیباشد .
روش دوم عمومی بوده و در همه موارد کاربرد دارد. یعنی با علامت $ و سپس نام متغیر شما می توانید بطور مستقیم متغیر را تعریف کرده و همانجا مقدار دهی نمایید.
- اپراتورهای متداول (Operators )
در زبان PHP شما میتوانید از اپراتورهای زیر استفاده نمایید.
- اپراتورهای ریاضی (Arithmetic Operators )
مثال |
توضیح |
اپراتور |
$a = 4; $b = 2;
|
مقدار دهی مستقیم |
= |
$a + $b = 6;
|
عمل جمع |
+ |
$a - $b = 2;
|
عمل تفریق |
- |
$a * $b = 8;
|
عمل ضرب |
* |
$a / $b = 2;
|
عمل تقسیم |
/ |
$a % $b = 0;
|
محاسبه باقیمانده $a / $b |
% |
$a++; ($a = $a+1;)
|
افزایش یکانی |
++ |
$a--;($a = $a-1;) |
کاهش یکانی |
-- |
- اپراتور انتساب مقدار (Assignment Operators )
- اپراتور "="
$a = 4;
$b = $a;
نتیجه : $b = 4;
- اپراتور "."
$a = "Alireza";
$b = " Balvardi";
$a.=$b; یا $a = $a.$b;
نتیجه : $a = "Alireza Balvardi";
- اپراتورهای مقایسهای (Comparison Operators )
مثال |
نوع عمل |
اپراتور |
$a === $b |
برابری دو عملوند
مقدار صحیح زمانی اتفاق می افتد که دو عملوند از یک نوع و برابر باشند |
=== |
$a !== $b |
نابرابری دو عملوند
مقدار صحیح زمانی اتفاق می افتد که دو عملوند از یک نوع نبوده یا برابر نباشند |
==! |
$a == $b |
مقایسه هم ارزی دو عملوند |
== |
$a != $b |
مقایسه نابرابری دو عملوند |
!= |
$a < $b |
مقایسه عملوند چپ کوچکتر از راست |
< |
$a > $b |
مقایسه عملوند چپ بزرگتر از راست |
> |
$a <= $b |
مقایسه عملوند چپ کوچکترمساوی از راست |
=< |
$a >= $b |
مقایسه عملوند چپ بزرگترمساوی از راست |
=> |
- عملوند اتصال رشتهها (Concatenating Strings )
برای این منظور از عملوند"." استفاده میشود .
$a = "Alireza";
$b = " Balvardi";
$c=$a.$b;
نتیجه : $c = "Alireza Balvardi";
- دستورات چاپ جهت نمایش در خروجی (Prints Out Commands )
- دستور echo
- دستور print
- دستور <?=$Variable;?> (این روش در بعضی حالتهای تنظیمات سرور پشتیبانی نمی شود)
- دستور printf
- دستور print_r
نحوه نگارش دستورات فوق بصورت زیر می باشد :
ساختار دستور: |
echo argument1[,argument2[,…]];
|
مثال: |
echo "متن مورد نظر ","سلام "; |
نتیجه:
متن مورد نظرسلام |
ساختار دستور: |
bool print(argument); |
مثال:
print("متن مورد نظر "); |
نتیجه:
متن مورد نظر |
ساختار دستور:
<?=argument;?> این ساختار به دلیل ذکر شده سفارش نمی شود |
مثال:
<?="متن مورد نظر ";?> |
نتیجه:
متن مورد نظر |
ساختار دستور:
<?php printf(string format[,arg1[,arg2[…]);?> |
مثال:
<?php
$a = 'حاصل جمع 2+3 ';
$b = 5;
printf("متن مورد نظر %s=%s",$a,$b);
?> |
نتیجه:
متن مورد نظر حاصل جمع 2+3=5 |
* نکته : شما می توانید به جای نوشتن مقادیر ثابت بین ("") از روش ارسال متنی استفاده نمایید.
در ضمن از روش ارسال متغیر بین علائم ("") می توان استفاده نمود اما بین علائم (") نمی توان استفاده نمود.
به مثالهای بعدی توجه نمایید.
<?php
$name = "Alireza";
$family = "Balvardi";
echo "Salam $name $family."
?>
|
نتیجه این کد برابر است با :
Salam Alireza Balvardi. |
<?
$name = "Alireza";
$family = "Balvardi";
echo 'Salam $name $family.'
?>
|
نتیجه این کد برابر است با :
Salam $name $family. |
با دقت در مثالهای فوق شما متوجه خواهید شد که بین Single Quotation و Double Quotation از نظر برنامه نویسی PHP اختلاف زیادی میباشد .
دستور چاپ جزئیات یک متغیر یا شیء(print_r )
این دستور یکی از پر کارآمد ترین دستورات در زمینه خطایابی برنامه های نوشته شده می باشد.شما با استفاده از این دستور می توانید محتوای واقعی یک متغییر که ممکن است ساده – آرایه یا از نوع کلاس باشد را مشاهده نمایید.
این دستور کاربرد فراوانی برای خطا یابی مقادیر برگشتی از تولبع یا کلاسهای فراخوانی شده دارد.
<?php
echo "<pre>"; //مشاهده خط به خط نتیجه
print_r($_SERVER);//چاپ نتایج
echo "</pre>";
?>
|
قسمتی از نتیجه اجرا :
Array
(
[HTTP_HOST] => localhost
[HTTP_USER_AGENT] => Mozilla/5.0 ....
[HTTP_ACCEPT] => text/html,application/xhtml+xml....
[HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5
[HTTP_ACCEPT_ENCODING] => gzip,deflate
[HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
[HTTP_KEEP_ALIVE] => 300
[HTTP_CONNECTION] => keep-alive
[HTTP_COOKIE] => User=l; Lang=en; Theme=Standard;
[HTTP_CACHE_CONTROL] => max-age=0
.....
|
توضیح : در این قطعه برنامه موارد توضیحی نمایش داده می شود.
متغیر : HTTP_HOST مقدار localhost
مفهوم : نام دامنه اینترنتی محل فراخوانی صفحه مورد نظر
متغیر : HTTP_USER_AGENT مقدار Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
مفهوم : نوع مرورگر استفاده شده که در اینجا Mozilla FireFox می باشد
نحوه دسترسی مستقیم به این متغیرها : با توجه به توضیح ابتدای کد مشخص می شود که نوع متغیر ما آرایه می باشد لذا برای دسترسی به این موارد از روش دسترسی Array استفاده می شود.
$_SERVER['HTTP_HOST'] مورد اول
$_SERVER['HTTP_USER_AGENT'] مورد دوم |
- اتصال رشته ها( جهت یادآوری )
برای اتصال نتایج متغیرها و رشتهها شما می توانید به روش زیر این کار را انجام دهید .
$a = "A";
$b = "B";
$c = 1385;
$d = $a.$b.$c;
echo $d;
|
نتیجه اجرا بصورت متن زیر میباشد .
AB1385 |
- آرایهها
آرایه یک مجموعه منظم از خانههای حافظه است که بر اساس آدرس خانه میتوان مقادیر آن را فراخوانی نمود یا اینکه در خانه یا خانههای مورد نظر مقدار وارد نمود.در PHP هر دونوع آرایه عددی و متنی قابل استفاده میباشد .
توضیح :
شما میتوانید آرایهها را در روش آدرسدهی عددی با شمارنده آدرس خانه استفاده نمایید . به مثالی که در زیر آورده شده است دقت نمایید :
- روش شماره 1: در این روش به صورت پویا شما خانهها را به ترتیب آدرس قرار گرفتن مقدار دهی مینمایید . ( در زیر چندین روش آورده شده است )
$a = array(1, 2, 3, 4);
$b = array("A", "B", "C", "D");
$c[0] = 1
$c[1] = 2
$c[2] = 3
$c[3] = 4
- روش شماره 2 : آدرس دهی رشتهای : در این روش به جای شمارنده خانه از اندیس رشتهای استفاده میشود . مثال زیر نمونهای از این روش میباشد و معادل آن نیز در سطرهای بعدی آورده شده است.
$b = array("name"=>"Alireza", "age" => 30);
//$b['name'] = "Alireza"
//$b['age'] = 30