به هفتمین جلسه از آموزش برنامه نویسی PHP خوش آمدید. در این جلسه با مبحث آرایه ها در PHP آشنا خواهیم شد.
آرایه ها در PHP
آرایه (array) در واقع جایگزینی بهتر و منطقی تر برای متغیرهای متعدد در یک برنامه PHP است. در برنامه های بزرگ که عموما با مقادیر متعددی سروکار دارند، بهتر است که به جای تعریف متغیرهای زیاد از یک آرایه استفاده شود. بدین ترتیب مشکل تعدد و مدیریت متغیرهای زیاد حل می شود.
طبق تعریف، آرایه تعدادی از خانه های متوالی و پشت سر هم در حافظه است که همگی یک نام و یک جنس دارند. در هر یک از این خانه ها می توان مقدار مستقلی را ذخیره کرده و هر زمان که نیاز بود به آنها دسترسی داشت.
آرایه ها در PHP
انواع آرایه ها در PHP
آرایه ها در PHP به سه دسته تقسیم می شوند:
- آرایه های شاخص دار (Indexed Arrays)
- آرایه های انجمنی (Associative Arrays)
- آرایه های چندبعدی (Multidimensional Arrays)
انواع آرایه ها در PHP
آرایه های شاخص دار (Indexed Arrays)
در این نوع از آرایه ها ، هر یک از عناصر آرایه با یک اندیس عددی از یکدیگر تفکیک می شوند. دسترسی به عناصر آرایه از طریق این اندیس ها صورت می گیرد.
به قطعه کد زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $numbers = array(); $numbers[0] = 4; $numbers[1] = 8; $numbers[2] = 4; $numbers[3] = 5; $numbers[4] = 3; echo $numbers[3]; ?> |
در قطعه کد بالا در خط ۳ یک آرایه به نام numbers تعریف شده است. در خطوط ۵ تا ۹ خانه های این آرایه به ترتیب با مقادیر ۴ ، ۸ ، ۴ ، ۵ و ۳ مقداردهی شده اند. در نهایت در خط ۱۱ مقدار یکی از خانه های این آرایه (خانه چهارم با اندیس ۳) در خروجی چاپ شده است. دقت داشته باشید که شماره گذاری عناصر آرایه ها در PHP از صفر شروع می شود (اندیس اولین خانه ۰ ، اندیس دومین خانه ۱ و …). خروجی این قطعه کد عدد ۵ است.
قطعه کد فوق را به دو شکل دیگر نیز می توان نوشت:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php // 1 $numbers = array(4, 8, 4, 5, 3); echo $numbers[3]; //--------------- // 2 $numbers = [ 4, 8, 4, 5, 3 ]; echo $numbers[3]; ?> |
در حالت شماره ۱ تعریف و مقداردهی عناصر آرایه بصورت همزمان انجام شده است. این کار باعث خلاصه تر شدن کدنویسی می شود. در حالت شماره ۲ نیز جهت خلاصه نویسی بیشتر، عبارت array از کد حذف شده و عناصر آرایه درون یک جفت براکت [ ] قرار گرفته اند. خروجی هر دو حالت مانند قبل است (چاپ عدد ۵ در خروجی).
آرایه های انجمنی (Associative Arrays)
در این نوع از آرایه ها ، هر یک از عناصر آرایه با یک نام (کلید – key) از یکدیگر تفکیک می شوند. دسترسی به عناصر آرایه از طریق این نام ها صورت می گیرد.
به قطعه کد زیر توجه کنید:
1 2 3 4 5 6 7 |
<?php $ages = array( 'jack' => 21 , 'john' => 24 , 'joe' => 19 ); echo $ages['john']; ?> |
در قطعه کد فوق در خط ۳ یک آرایه به نام ages تعریف شده است. این آرایه سن ۳ نفر با نام های john ، jack و joe را در خود ذخیره کرده است. بر خلاف آرایه های شاخص دار، این بار هر کدام از خانه های آرایه با یک نام (کلید) از یکدیگر تفکیک می شوند. در نهایت درخط ۵ مقدار یکی از خانه های این آرایه (خانه دوم با کلید john) در خروجی چاپ شده است. خروجی این قطعه کد عدد ۲۴ است.
قطعه کد فوق را به شکل دیگری نیز می توان نوشت:
1 2 3 4 5 6 7 |
<?php $ages = [ 'jack' => 21 , 'john' => 24 , 'joe' => 19 ]; echo $ages['john']; ?> |
در قطعه کد فوق جهت خلاصه تر شدن کد، عبارت array از کد حذف شده و عناصر آرایه درون یک جفت براکت [ ] قرار گرفته اند. خروجی این قطعه کد مانند قبل است (چاپ عدد ۲۴ در خروجی).
آرایه های چندبعدی (Multidimensional Arrays)
در این نوع از آرایه ها ، هر یک از عناصر آرایه، خود یک آرایه هستند. دسترسی به عناصر آرایه بر اساس مکان قرارگیری آنها در ابعاد آرایه است.
به قطعه کد زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $scores = array( 'jack' => array(18, 20, 17) , 'john' => array(14, 16, 15) , 'joe' => array(12, 13, 15) ); echo $scores['joe'][1]; ?> |
در قطعه کد فوق در خط ۳ یک آرایه به نام scores تعریف شده است. این آرایه نمرات ۳ نفر با نام های john ، jack و joe را در خود ذخیره کرده است. آرایه scores در ابتدای امر یک آرایه انجمنی به نظر می رسد ولی در ادامه می بینیم که هر یک از عناصر این آرایه خود یک آرایه بوده و هر کدام سه مقدار را در خود ذخیره کرده اند. این سه عدد، نمرات کسب شده سه نفر فوق در دروس مختلف هستند. این یک آرایه دوبعدی است که می تواند تا هر ابعادی گسترش یابد (چندبعدی).
در نهایت درخط ۹ مقدار یکی از خانه های این آرایه دوبعدی (خانه سوم با کلید joe – نمره دوم با اندیس ۱) در خروجی چاپ شده است. خروجی این قطعه کد عدد ۱۳ است.
قطعه کد فوق را به شکل دیگری نیز می توان نوشت:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $scores = [ 'jack' => [ 18, 20, 17 ] , 'john' => [ 14, 16, 15 ] , 'joe' => [ 12, 13, 15] ]; echo $scores['joe'][1]; ?> |
در قطعه کد فوق جهت خلاصه تر شدن کد، عبارت array از هر دو بعد آرایه حذف شده و عناصر هر کدام از آرایه ها درون یک جفت براکت [ ] قرار گرفته اند. خروجی این قطعه کد مانند قبل است (چاپ عدد ۱۳ در خروجی).
به پایان این جلسه آموزشی رسیدیم. در آینده با بخشهای دیگری از زبان PHP آشنا خواهیم شد. با ما همراه باشید…
9 دیدگاه. ارسال دیدگاه جدید
سلام وقت بخیر
شما بسیار عالی و واضح و دقیق توضیح میدید جوری که هیچ گونه سوال و یا ابهامی پیش نیومد واسه من
از شما کمال تشکر را دارم
خیلی ممنونم
ممنون از شما دوست عزیز
اینقدر واضح و دقیق توضیح میدید که هیچ سوال و یا ابهامی پیش نمیاد ممنون 👏
ممنونم دوست عزیز لطف دارید
واقعا ممنونم از سایت خوب و عالیتون
سایتتون بی نظیره، سپاس🙏
مثل همیشه عالی
عالی بود استاد. امیدوارم که این آموزشها با قدرت ادامه داشته باشه 👌
ممنونم دوست عزیز
بله انشاا.. همینطور خواهد بود.