در این مقاله از کدپز با جلسه چهارم PHP در خدمت شما هستیم .
در قسمت قبل در جلسه سوم PHP تک به تک عملگر ها را در PHP بررسی کردیم. البته ورود کردن به بحث عملگر های آرایه ای ملزم به یادگیری این جلسه بود. سرانجام مبحثی ساده اما فوق العاده لازم، با عنوان “ثبت کامنت ها و توضیحات در زبان پی اچ پی” را بیان کردیم.
با ما باشید تا در جلسه چهارم PHP به مباحث زیر بپردازیم.
۱) تعریف و نحوه کار با آرایه ها
۲) تابع count( )
۳) تابع print_r و var_dump
۴) عملگر های آرایه ای
آرایه یک متغیر خاص است که می تواند چند مقدار را در خود ذخیره کند. برای مثال شما نیاز به ذخیره ی تعداد ۵۰ عدد را دارید. یا نیاز به ذخیره ی ۲۰ کلمه را دارید. یک آرایه می تواند تمامی آن ها را درون خود ذخیره کنند.
در جلسه چهارم PHP می آموزید که آرایه ها به سه دسته تقسیم می شوند.
-آرایه عددی (numeric array)
-آرایه متناظر یا انجمنی (associative arrays)
-آرایه تودرتو (multidimensional arrays)
در این نوع از آرایه هر عضو عدد منحصر به فرد خود را دارد. و اولین عضو عدد صفر را اختیار می کند. به مثال زیر از جلسه چهارم PHP توجه کنید.
<?php
$city = array(
'alborz',
'gilan',
'khorasan',
'sari'
);
echo $city[1];
?>
خروجی کد بالا :
gilan
به وسیله ی این تابع می توان طول یک آرایه را محاسبه کرد.
<?php
$city = array('alborz','gilan','khorasan','sari');
echo count($city);
?>
خروجی کد بالا :
4
نکته۱: طول آرایه ۴ است اما آخرین مقدار، عدد ۳ را اختیار کرده است.
نکته۲: آرایه را هم می توان درون یک خط نوشت و هم به صورت خط های مجزا
این آرایه تقریبا شبیه آرایه عددی است. اما برای هر مقدار یک شناسه وجود دارد. به مثال زیر از جلسه چهارم PHP توجه کنید.
<?php
$city = array(
'karaj' => 'alborz',
'rasht' => 'gilan',
'mashhad' => 'khorasan',
'mazandaran' => 'sari'
);
echo $city['rasht'];
?>
خروجی کد بالا :
gilan
همانطور که از اسم آن پیداست، در این قسمت به راحتی می توان درون یک آرایه، آرایه ایی دیگر و درون آن باز هم آرایه ایی دیگر (به تعداد دلخواه) استفاده کرد.
<?php
$sherkat = array(
array(
'modir_arshad' => 'ali',
'moaven' => 'hasan',
'dastyar' => 'reza',
'monshi' => 'omid'
),
array(
'800',
'700',
'600',
'500'
)
);
echo $sherkat[1][2];
?>
در مثال بالا آرایه ایی تعریف کرده اییم. که درون آن دو آرایه وجود دارد. آرایه ی اول مقدار ۰ و آرایه ی دوم مقدار ۱ را نیز اختیار کرده است. آرایه ی اول از نوع متناظر و آرایه ی دوم از نوع عددی است.
خروجی کد بالا:
600
حال فرض کنید نیاز به نام منشی در آرایه داریم.
echo $sherkat[0]['monshi'];
خروجی کد بالا:
omid
نکته: درون آرایه ایی که اکنون تعریف کردیم دو آرایه وجود داشت، که خود از نوع عددی بودند و مقدار اولی ۰ و دومی ۱ بود. توجه داشته باشید که خودِ این آرایه های تودرتو می توانستند از نوع آرایه ی متناظر باشند و هر کدام شناسه ایی داشته باشند. به مثال زیر از جلسه چهارم PHP توجه کنید.
<?php
$sherkat = array(
'karmandan' => array(
'modir_arshad' => 'ali',
'moaven' => 'hasan',
'dastyar' => 'reza',
'monshi' => 'omid'
),
'dastmozd' => array(
'800',
'700',
'600',
'500'
)
);
echo "dastmozd " .$sherkat['karmandan']['monshi'] ." " .$sherkat['dastmozd'][3] ." ast.";
?>
خروجی کد بالا:
dastmozd omid 500 ast.
تابع print_r در PHP ، تمامی عناصر یک آرایه را نمایش می دهد. اما تابع var_dump با جزییات بیشتر، به طوری که هم نوع و هم مقدار عناصر را نمایش می دهد. به مثال زیر از جلسه چهارم PHP توجه کنید.
<pre>
<?php
$a=array(
'800',
array(10, "messi"),
'600',
'ali'
);
print_r($a);
echo '<hr>';
var_dump($a);
?>
</pre>
خروجی کد بالا:
Array
(
[0] => 800
[1] => Array
(
[0] => 10
[1] => messi
)
[2] => 600
[3] => ali
)
________________________________________
array(4) {
[0]=>
string(3) "800"
[1]=>
array(2) {
[0]=>
int(10)
[1]=>
string(5) "messi"
}
[2]=>
string(3) "600"
[3]=>
string(3) "ali"
}
نکته: در کد بالا، قبل و بعد از تگ <php ?> از تگ باز و بسته ی <pre> </pre> استفاده کردیم. این تگ خروجی را به طور مرتب تری به نمایش در می آورد. شما نیز یک بار بدون این تگ کد بالا را اجرا کنید.
یک مبحث از جلسه ی قبل باقی مانده بود. که دانستن آن نیازمند گذراندن بخش آرایه ها بود. حال به بررسی آن می پردازیم.
ابتدا جدول را به دقت ملاحضه کنید، سپس توضیحات تکمیلی پایین جدول وجود دارد. همچنین این توضیحات در w3resource نیز موجود می باشد.
ابتدا تفاوت a+$b$ و b+$a$ را ملاحضه نمایید.
<pre>
<?php
$a=array(
'First amount' => '100',
'second amount' => '200',
'third amount' => '300',
);
$b=array(
'First amount' => '600',
'second amount' => '700',
'third amount' => '800',
'Fourth amount' => 'ali'
);
$x=$a+$b;
$y=$b+$a;
var_dump($x);
echo '<hr>';
var_dump($y);
?>
</pre>
خروجی کد بالا:
array(4) {
["First amount"]=>
string(3) "100"
["second amount"]=>
string(3) "200"
["third amount"]=>
string(3) "300"
["Fourth amount"]=>
string(3) "ali"
}
________________________________________
array(4) {
["First amount"]=>
string(3) "600"
["second amount"]=>
string(3) "700"
["third amount"]=>
string(3) "800"
["Fourth amount"]=>
string(3) "ali"
}
نکته۱: در a+b عناصر a را نگه می دارد و عناصر b را به آن اضافه می کند. ولی در b+a ابتدا عناصر b را نگه داشته و سپس عناصر a را به آن اضافی می کند.
حال دو آرایه به اسم x و y داریم، که عناصر آن ها این گونه می باشد.
(‘x=array(100,200,300,’ali
(‘y=array(600,700,800,’ali
<?php
$a = array("one" => "php", "two" => "html");
$b = array("three" => "css", "four" => "asp.net");
var_dump($a == $b);
?>
خروجی کد بالا:
bool(false)
<?php
$str_1= 12345;
$str_2= '12345';
$str_3= '12345ali';
echo gettype($str_1).'<br>';
echo gettype($str_2).'<br>';
echo gettype($str_3).'<br>'.'<br>';
if ($str_1 == $str_2)
{
echo 'true <hr>' ;
}
else
{
echo 'false';
}
if ($str_1 === $str_2)
{
echo 'true';
}
else
{
echo 'false';
}
?>
نکته۱: با عبارت شرطی if جلسه ی بعد آشنا می شویم.
نکته۲: str_1 از نوع اینتیجر(عددی,int) و str_2 و str_3 از نوع استرینگ(رشته,str) هستند.
نکته۳: به عبارتی ساده می توان بیان کرد که عملگر (==) فقط مقدار متغیر(value) را چک میکند. اما عملگر (===) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی true و شرط دومی false می باشد.
خروجی کد بالا:
integer
string
string
true
________________________________________
false
همانطور که در توضیحات جدول ملاحضه نمودید، عملگر (=!) و (<>) تفاوتی ندارند. اما تفاوت دو عملگر (=!) و (==!) را در مثال زیر از جلسه چهارم PHP ببینید.
<?php
$str_1= 123;
$str_2= '123';
$str_3= '123ali';
echo gettype($str_1).'<br>';
echo gettype($str_2).'<br>';
echo gettype($str_3).'<br>'.'<br>';
if ($str_1 != $str_2)
{
echo 'true' ;
}
else
{
echo 'false<hr>';
}
if ($str_1 !== $str_2)
{
echo 'true';
}
else
{
echo 'false';
}
?>
خروجی کد بالا:
integer
string
string
false
________________________________________
true
نکته: همانند مثال قبل عملگر (=!) فقط مقدار متغیر(value) را چک میکند. اما عملگر (==!) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی false و شرط دومی true می باشد.
مبحث آرایه ها به پایان رسید. برای آموزشی دیگر می توانید از اینجا استفاده کنید. حتما و حتما با انواع آرایه ها تمرین کنید.
تبریک میگم شما موفق شدید تا جلسه چهارم PHP را پشت سر بگذارید.
جلسه معرفی | رفتن به مطلب | |
جلسه اول Php | رفتن به مطلب | |
جلسه دوم Php | رفتن به مطلب | |
جلسه سوم Php | رفتن به مطلب | |
جلسه چهارم PHP | رفتن به مطلب | |
جلسه پنجم PHP | رفتن به مطلب | |
جلسه ششم PHP | رفتن به مطلب | |
جلسه هفتم PHP | رفتن به مطلب | |
جلسه هشتم PHP | رفتن به مطلب | |
جلسه نهم PHP | رفتن به مطلب | |
جلسه دهم PHP - یادآوری فرم در html - فرم ها در PHP - آشنایی با متد های GET_$ و POST_$ | رفتن به مطلب | |
جلسه یازدهم PHP: شی گرایی - تعریف کلاس - ساخت اشیا فراخوانی تابع عضو | رفتن به مطلب | |
جلسه پانزدهم PHP: اتصال PHP به MySQL - (PDO یا MySQL) - بستن اتصال | رفتن به مطلب | |
جلسه هفدهم PHP : وارد کردن اطلاعات در MySQL با دو روش mysqli و PDO - به صورت رویه ای و شی گرایی | رفتن به مطلب | |
جلسه هجدهم PHP- دریافت آخرین شناسه در پایگاه داده MySQL - دستورات آماده PHP در MySQL | رفتن به مطلب | |
جلسه نوزدهم PHP: | رفتن به مطلب | |
جلسه بیست یکم PHP : XML - DOM - SimpleXML | رفتن به مطلب | |
جلسه بیست دوم PHP : | رفتن به مطلب | |
جلسه بیست سوم PHP : پایگاه داده و Ajax | رفتن به مطلب | |
جلسه بیست چهارم PHP : تمارین PHP | رفتن به مطلب | |
جلسه بیست پنجم PHP | رفتن به مطلب |