جلسه چهارم PHP: آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته
مقدمه
در این مقاله از کدپز با جلسه چهارم PHP در خدمت شما هستیم .
در قسمت قبل در جلسه سوم PHP تک به تک عملگر ها را در PHP بررسی کردیم. البته ورود کردن به بحث عملگر های آرایه ای ملزم به یادگیری این جلسه بود. سرانجام مبحثی ساده اما فوق العاده لازم، با عنوان “ثبت کامنت ها و توضیحات در زبان پی اچ پی” را بیان کردیم.
با ما باشید تا در جلسه چهارم PHP به مباحث زیر بپردازیم.
1) تعریف و نحوه کار با آرایه ها
2) تابع count( )
3) تابع print_r و var_dump
4) عملگر های آرایه ای
1) تعریف و نحوه کار با آرایه ها
آرایه یک متغیر خاص است که می تواند چند مقدار را در خود ذخیره کند. برای مثال شما نیاز به ذخیره ی تعداد 50 عدد را دارید. یا نیاز به ذخیره ی 20 کلمه را دارید. یک آرایه می تواند تمامی آن ها را درون خود ذخیره کنند.
در جلسه چهارم PHP می آموزید که آرایه ها به سه دسته تقسیم می شوند.
-آرایه عددی (numeric array)
-آرایه متناظر یا انجمنی (associative arrays)
-آرایه تودرتو (multidimensional arrays)
– آرایه عددی
در این نوع از آرایه هر عضو عدد منحصر به فرد خود را دارد. و اولین عضو عدد صفر را اختیار می کند. به مثال زیر از جلسه چهارم PHP توجه کنید.
1 2 3 4 5 6 7 8 9 10 |
<?php $city = array( 'alborz', 'gilan', 'khorasan', 'sari' ); echo $city[1]; ?> |
خروجی کد بالا :
1 |
gilan |
2) تابعcount( )
به وسیله ی این تابع می توان طول یک آرایه را محاسبه کرد.
1 2 3 4 |
<?php $city = array('alborz','gilan','khorasan','sari'); echo count($city); ?> |
خروجی کد بالا :
1 |
4 |
نکته1: طول آرایه 4 است اما آخرین مقدار، عدد 3 را اختیار کرده است.
نکته2: آرایه را هم می توان درون یک خط نوشت و هم به صورت خط های مجزا
– آرایه متناظر
این آرایه تقریبا شبیه آرایه عددی است. اما برای هر مقدار یک شناسه وجود دارد. به مثال زیر از جلسه چهارم PHP توجه کنید.
1 2 3 4 5 6 7 8 9 10 |
<?php $city = array( 'karaj' => 'alborz', 'rasht' => 'gilan', 'mashhad' => 'khorasan', 'mazandaran' => 'sari' ); echo $city['rasht']; ?> |
خروجی کد بالا :
1 |
gilan |
– آرایه تودرتو
همانطور که از اسم آن پیداست، در این قسمت به راحتی می توان درون یک آرایه، آرایه ایی دیگر و درون آن باز هم آرایه ایی دیگر (به تعداد دلخواه) استفاده کرد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $sherkat = array( array( 'modir_arshad' => 'ali', 'moaven' => 'hasan', 'dastyar' => 'reza', 'monshi' => 'omid' ), array( '800', '700', '600', '500' ) ); echo $sherkat[1][2]; ?> |
در مثال بالا آرایه ایی تعریف کرده اییم. که درون آن دو آرایه وجود دارد. آرایه ی اول مقدار 0 و آرایه ی دوم مقدار 1 را نیز اختیار کرده است. آرایه ی اول از نوع متناظر و آرایه ی دوم از نوع عددی است.
خروجی کد بالا:
1 |
600 |
حال فرض کنید نیاز به نام منشی در آرایه داریم.
1 |
echo $sherkat[0]['monshi']; |
خروجی کد بالا:
1 |
omid |
نکته: درون آرایه ایی که اکنون تعریف کردیم دو آرایه وجود داشت، که خود از نوع عددی بودند و مقدار اولی 0 و دومی 1 بود. توجه داشته باشید که خودِ این آرایه های تودرتو می توانستند از نوع آرایه ی متناظر باشند و هر کدام شناسه ایی داشته باشند. به مثال زیر از جلسه چهارم PHP توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?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."; ?> |
خروجی کد بالا:
1 |
dastmozd omid 500 ast. |
شما در حال آموزش و یادگیری جلسه چهارم PHP آرایه می باشید.
3) تابع print_r و var_dump
تابع print_r در PHP ، تمامی عناصر یک آرایه را نمایش می دهد. اما تابع var_dump با جزییات بیشتر، به طوری که هم نوع و هم مقدار عناصر را نمایش می دهد. به مثال زیر از جلسه چهارم PHP توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<pre> <?php $a=array( '800', array(10, "messi"), '600', 'ali' ); print_r($a); echo '<hr>'; var_dump($a); ?> </pre> |
خروجی کد بالا:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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> استفاده کردیم. این تگ خروجی را به طور مرتب تری به نمایش در می آورد. شما نیز یک بار بدون این تگ کد بالا را اجرا کنید.
یک مبحث از جلسه ی قبل باقی مانده بود. که دانستن آن نیازمند گذراندن بخش آرایه ها بود. حال به بررسی آن می پردازیم.
4) عملگر های آرایه ای
ابتدا جدول را به دقت ملاحضه کنید، سپس توضیحات تکمیلی پایین جدول وجود دارد. همچنین این توضیحات در w3resource نیز موجود می باشد.
مثال عملگر Union (+):
ابتدا تفاوت a+$b$ و b+$a$ را ملاحضه نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<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> |
خروجی کد بالا:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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" } |
نکته1: در a+b عناصر a را نگه می دارد و عناصر b را به آن اضافه می کند. ولی در b+a ابتدا عناصر b را نگه داشته و سپس عناصر a را به آن اضافی می کند.
حال دو آرایه به اسم x و y داریم، که عناصر آن ها این گونه می باشد.
(‘x=array(100,200,300,’ali
(‘y=array(600,700,800,’ali
مثال عملگر Equal (==):
1 2 3 4 5 6 |
<?php $a = array("one" => "php", "two" => "html"); $b = array("three" => "css", "four" => "asp.net"); var_dump($a == $b); ?> |
خروجی کد بالا:
1 |
bool(false) |
مثال تفاوت عملگر Equal (==) و Identity (===) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?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'; } ?> |
نکته1: با عبارت شرطی if جلسه ی بعد آشنا می شویم.
نکته2: str_1 از نوع اینتیجر(عددی,int) و str_2 و str_3 از نوع استرینگ(رشته,str) هستند.
نکته3: به عبارتی ساده می توان بیان کرد که عملگر (==) فقط مقدار متغیر(value) را چک میکند. اما عملگر (===) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی true و شرط دومی false می باشد.
خروجی کد بالا:
1 2 3 4 5 6 7 |
integer string string true ________________________________________ false |
مثال تفاوت عملگر Inequality (!=) و (<>) و Non-Inequality (!==) :
همانطور که در توضیحات جدول ملاحضه نمودید، عملگر (=!) و (<>) تفاوتی ندارند. اما تفاوت دو عملگر (=!) و (==!) را در مثال زیر از جلسه چهارم PHP ببینید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?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'; } ?> |
خروجی کد بالا:
1 2 3 4 5 6 7 |
integer string string false ________________________________________ true |
نکته: همانند مثال قبل عملگر (=!) فقط مقدار متغیر(value) را چک میکند. اما عملگر (==!) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی false و شرط دومی true می باشد.
مبحث آرایه ها به پایان رسید. برای آموزشی دیگر می توانید از اینجا استفاده کنید. حتما و حتما با انواع آرایه ها تمرین کنید.
تبریک میگم شما موفق شدید تا جلسه چهارم PHP را پشت سر بگذارید.
1 Comment
Join the discussion and tell us your opinion.
فوق العاده کامل و حرفه ای
ممنون از سایت خوبتون