آموزش PHP - بخش چهارم، آرایه ها

آموزش PHP - بخش چهارم، آرایه ها

در ادامه سری آموزش‌های پی‌اچ‌پی در همیار لاراول امروز قصد داریم تا به مبحث مهم آرایه‌ها بپردازیم که می‌توان در آن بیش از یک مقدار را ذخیره سازی کرد.

آرایه ها در پی‌اچ‌پی

در جلسات قبل به صورت مفصل در مورد متغیرها صحبت کردیم و انواع آن را نیز مورد بررسی قرار دادیم. متغیرها می‌توانند یک مقدار را نگهداری کنند و در مواقع نیاز می‌توان به آن مقدار دسترسی داشت. اما این روش برای ذخیره سازی اطلاعات همیشه کاربردی نبوده و فرض کنید تعداد زیادی داده از یک نوع خاص را بخواهیم ذخیره کنیم. اینجاست که آرایه‌ها وارد عمل می‌شوند.

آرایه به زبان ساده همان متغیر است با این تفاوت که می‌توان بیش از یک مقدار را در آن قرار داد. (حتی می‌توان از آرایه‌های سه بعدی استفاده کرد که فعلا کاری با آن‌ها نداریم و فعلا آرایه‌های معمولی را مورد بررسی قرار میدهیم.)

آرایه‌ها خطی (دو بعدی)

خب برای معرفی و استفاده از آرایه‌ها همانند متغیرها یک علامت $ را تایپ کرده و نام مورد نظر را برای آرایه انتخاب میکنیم. سپس علامت = را قرار داده و با عبارت کلیدی Array اقدام به ذخیره سازی داده‌ها در آن آرایه می‌کنیم. به مثال زیر توجه کنید:

<?php 
$names = Array("laravel","hamyarlaravel");
?>

همانطور که در کد بالا می‌بینید ما دو مقدار hamyarlaravel، و laravelرا در آرایه‌ای به نام names ذخیره کردیم. اما چگونه می‌توان به مقدار مورد نظر دسترسی داشت؟

فرض کنید در کدتان نیاز داریم تا به داده‌ دوم یعنی hamyarlaravel دسترسی داشته باشیم. برای اینکار باید از ایندکس گذاری آرایه‌ها استفاده کنیم. دقت کنید در آرایه‌ها شماره هر داده با یک عدد منحصر به فرد که از 0 شروع میشه و یک واحد یک واحد به این مقدار اضافه می‌شود. مثلا برای آرایه بالا ما ایندکس داده‌ها به ترتیب از چپ به راست برابر با 0 سپس 1 خواهد بود.

نکته مهم اینجاست که شماره‌گذاری (ایندکس) داده‌ها در آرایه‌ها در تمام زبان‌های برنامه نویسی به همین شکل است و از عدد صفر شروع می‌شود. بنابراین طبیعی است که برای آرایه فوق که شامل 2 عضو است این مقادیر 0 و 1 باشند.

با توجه به توضیح بالا برای دسترسی به مقدار hamyarlaravel باید از کد زیر استفاده کنیم:

<?php 
$names = Array("laravel","hamyarlaravel","faghatlaravel");
//access and echo hamyarlaravel from above array
echo $names[1]; //this will print : hamyarlaravel 
?>

همانطور که می‌بینید با قرار دادن شماره ایندکس عضو مورد نظر در داخل [] و پس از نام آرایه می‌توانید به عضو مورد نظر دسترسی داشته باشید. اما حال فرض کنید مد نظر دارید که خودتان شماره‌گذاری ایندکس‌ها را به دست بگیرید. اینکار در پی‌اچ‌پی راحت است! به کد زیر دقت کنید:

<?php
$user_details = Array("name" => "amin", "age" => "29", "fav" => "php");
?>

همانطور که در کد بالا می‌بینید ما در آرایه‌ای به نام user_details را ذخیره کرده و برای هر داده یک ایندکس اختصاصی در نظر گرفتیم. در این شرایط مطابق روش قبلی بجای ایندکس عددی از ایندکس ثبت شده خودتان استفاده کنید. 

<?php
$user_details = Array("name" => "amin", "age" => "29", "fav" => "php");

//access and echo age in user_details
echo $user_details['age']; //this will prints: 29
?>

 

روش دیگر

روش دیگر برای اختصاص دادن مقدار به آرایه‌ها به  صورت زیر است:

<?php
$user_details['name'] = "amin";
$user_details['age'] = 29;
$user_details['fav'] = "php";

echo $user['age']; //this will prints 29
?>

کد بالا و مثال قبل عینا یک نتیجه را در بر خواهند داشت.

آرایه‌های چندگانه (چند بعدی)

همانطور که گفته شد آرایه‌ها فقط به صورت خطی مورد استفاده قرار نمی‌گیرند. یکی از بهترین قابلیت‌های پی‌اچ‌پی این است که شما می‌تواند آرایه‌هایی با بی‌نهایت بعد ایجاد کنید! خب این به چه معناست؟ بهتر است کار را با یک مثال دیگر ادامه دهیم:

فرض کنید شما داده‌های مرتبط با چند کاربر را از بانک داده گرفته‌اید و می‌خواهید آن‌ها مورد استفاده قرار دهید. در این حالت بهترین کار این است که اطلاعات مرتبط با هر کاربر در یک آرایه مختص به خود او قرار گیرد و بعد از اینکار براحتی می‌توان به هر مشخصه از هر کاربر دسترسی یافت. استفاده از آرایه‌های چند بعدی درست شبیه آرایه‌های دوبعدی است و فقط کمی مراحل در اینجا بیشتر خواهد شد.

<?php
$users = Array ("user1" => array ("name" => "amin", "fav" => "php"), "user2" => array ("name" => "alireza", "fav" => "laravel"));
?>

همانطور که در کد بالا می‌بینید اینبار به جای اختصاص دادن یک داده در واقع یک آرایه به هر عضو اختصاص داده شده است.در کد بالا ما اطلاعات دو کاربر را که برای هر کدام شامل نام و علاقه وی می‌شود در آرایه‌ای به نام users قرار دادیم. اما برای دسترسی به هر عضو از این آرایه چگونه باید عمل کنیم؟ فرض کنید می‌خواهیم نام کاربر اول را در خروجی چاپ کنیم. در این حالت باید مطابق مثال از عمل کنیم:

<?php
$users = Array ("user1" => array ("name" => "amin", "fav" => "php"), "user2" => array ("name" => "alireza", "fav" => "laravel"));

echo $users['user1']['name']; //this will prints : amin
?>

خب همانطور که تمرین کردیم در اینجا کافیست از دو ایندکس استفاده کنیم. ایندکس اول user1 است که به پی‌اچ‌پی می‌گوید در آرایه users به دنبال عضوی به نام user1 هستیم. سپس در ایندکس دوم به پی‌اچ‌پی میگوییم به دنبال مشخصه name از عضو انتخاب شده هستیم. در اینجا همانطور که در کد هم بخوبی مشخص شده خروجی amin خواهد بود.

امیدوارم این جلسه مورد استفاده دوستان قرار گرفته باشه و بتونیم بهره خوبی از این آموزش برده باشیم. تمرین کافی در این بخش باعث بهبود عملکرد شما در بحث آرایه ها در زبان های مختلف برنامه نویسی از جمله PHP پی اچ پی خواهد بود.

مطالب مشابه