آرایه های PHP به زبان ساده

885
آرایه های PHP

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

آرایه چیست؟

آرایه (Array) مجموعه‌ای از متغیرهای مختلفی است که درون گروهی منفرد قرار گرفته‌اند. به این ترتیب توسعه‌دهندگان می‌توانند داده‌ها (یا مقادیر) گوناگون را با عنوانی یکتا ذخیره کنند و دیگر نیازی به تعریف کردن متغیرهای جداگانه برای هر عنصر نیست.تابع array() تعداد نامحدودی از مقادیری که با علامت «کاما» (,) از یکدیگر جدا شده‌اند را می‌پذیرد. ضمناً مقدار موجود در آرایه می‌تواند انواع داده – مثلا اعداد صحیح، رشته‌ها، داده بولی یا حتی آرایه‌های دیگر باشد. به‌جای این تابع، می‌توان از «[]» (براکت) نیز استفاده کرد.

مسیر یادگیری PHP و آرایه های PHP

ساخت آرایه های PHP و دسترسی به آن‌ها

برای ساخت آرایه در PHP از سینتکس (Syntax) زیر استفاده می‌کنیم:

$array_name = [value1, value2, ...];

برای مثال آرایه‌ای ساده که سه عنصر (عدد) را در بر بگیرد چنین شمایلی دارد:

$num_array = [14, 25, 36];

در چنین آرایه‌ای که «Indexed» (حاوی عدد) نامیده می‌شود، می‌توانیم بسته به جایگاه (یا Index) هر عنصر در آرایه، به آن دسترسی پیدا کنیم. در PHP (و بسیاری از زبان‌های دیگر)، آرایه‌ها «Zero-Indexed» هستند، به این معنی که نخستین عنصر در جایگاه صفر قرار می‌گیرد و نه یک. برای دسترسی یافتن به عنصری خاص براساس ایندکس، خیلی ساده به آن ارجاع می‌دهیم:

echo $num_array[0]; 
// Output: 14

در مثال بالا می‌خواهیم براساس ایندکس (که صفر است) به نخستین عنصر از $num_array دسترسی پیدا کنیم.

انواع Index در آرایه های PHP

آرایه‌های PHP می‌توانند ایندکس‌های مختلف داشته باشند و رایج‌ترین موارد هم آرایه‌های Indexed و Associative هستند.

آرایه‌های Indexed

آرایه Indexed از شاخص‌های عددی برای دسترسی یافتن به مقادیر و ذخیره‌سازی آن‌ها درون یک آرایه استفاده می‌کند. به‌عنوان مثال:

$colors = ['red', 'blue', 'green'];
echo $colors[0];
// Outputs: red

کد بالای یک آرایه Indexed (با علامت‌گذاری عددی) است که سه عنصر یا رنگ را در بر می‌گیرد. همانطور که در بالا می‌بینید، با قرار دادن عدد مربوطه در براکت مربعی می‌توانیم به هر عنصر یا رنگ دسترسی پیدا کنیم.

آرایه‌های Associative

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

به این مثال توجه کنید:

$user_data = ['name' => 'John Doe', 'email' => 'johndoe@example.com', 'age' => 30]; 
echo $user_data['name']; 
// Outputs: John Doe

در کد بالا آرایه‌ای Associative با سه جفت کلید-مقدار داریم. با استفاده از نام هر کلید می‌شود به داده مورد نظر دسترسی یافت.

سؤالات متداول برنامه‌نویسان راجع به آرایه‌های PHP

حالا که با مفاهیم بنیادین آشنا شده‌ایم، در ادامه به سراغ سؤالات رایجی می‌رویم که معمولا ذهن توسعه‌دهندگان وب تازه‌کار را به خود مشغول می‌کنند و به آن‌ها پاسخ می‌دهیم.

چطور عناصر جدید را به آرایه PHP اضافه کنیم؟

برای افزودن عناصر جدید به آرایه‌ای که پیش‌تر ایجاد شده‌ است، چه Indexed و چه Associative، از تابع array_push() یا علامت «[]» (براکت) کمک می‌گیریم. با استفاده از array_push() می‌توانیم یک یا چند مقدار اضافه را به انتهای آرایه اضافه کنیم.

به‌عنوان مثال:

$fruits = ['apple', 'orange'];
array_push($fruits, 'banana', 'grape'); 
print_r($fruits); 
// Output: Array ([0] => apple [1] => orange [2] => banana [3] => grape)

در این کد کوتاه، به کمک array_push() دو عنصر جدید (banana و grape) را به آرایه $fruits اضافه کرده‌ایم.

یک رویکرد دیگر هم می‌تواند استفاده از علامت براکت و تخصیص دادن مقدار به جایگاهی جدید در آرایه Indexed یا ساختن یک جفت کلید-مقدار جدید برای آرایه‌های Associative باشد.

مثلا هنگام افزودن عنصر به آرایه‌های Indexed، نوشتن $num_array[] = 67; منجر به اضافه شدن مقدار 67 به انتهای $num_array می‌شود.

چطور عناصر را از آرایه های PHP حذف کنیم؟

با استفاده از یکی از دو تابع unset() یا array_splice() می‌توانید عناصر موجود در آرایه‌ها را حذف کنید. هنگام استفاده از تابع unset() می‌توانید با تعیین ایندکس یا کلید، عناصر مشخصی را از آرایه‌های Indexed یا Associative پاک کنید.

به مثال زیر نگاه کنید:

$fruits = ['apple', 'orange', 'banana', 'grape'];
unset($fruits[2]);
print_r($fruits); 
// Output: Array ([0] => apple [1] => orange [3] => grape)

در این مثال، به کمک تابع unset() سومین عنصر (banana) را از آرایه $fruits پاک کرده‌ایم.

یک روش دیگر هم می‌تواند استفاده از تابع array_splice() باشد که امکان حذف بازه‌ای از عناصر موجود در آرایه Indexed را مهیا می‌کند. برای حذف یک جفت کلید-مقدار از آرایه Associative نیز می‌توانید از همین تابع کمک بگیرید و کلید مورد نظرتان را تعیین کنید.

روش کار به این شکل خواهد بود:

$user_data = [
    'name' => 'John Doe',
    'email' => 'johndoe@example.com',
    'age' => 30,
    'country' => 'United States'
];

unset($user_data['country']);
print_r($user_data); // Output: Array ( [name] => John Doe [email] => johndoe@example.com [age] => 30 )

در این کد، جفت کلید-مقدار 'country'را با استفاده از تابع unset() از آرایه خود پاک کرده‌ایم.

چطور وجود یک مقدار را در آرایه PHP بررسی کنیم؟

با تابع in_array() می‌توانید ببینید که آیا مقداری به‌خصوص درون آرایه وجود دارد یا خیر. این تابع به دنبال مقدار مورد نظر شما می‌گردد. اگر آن را بیابد true را بازمی‌گرداند و اگر نه،false را.

مثال زیر را ببینید:

$fruits = ['apple', 'orange', 'banana', 'grape']; 
if (in_array('apple', $fruits)) {
    echo 'Apple is in the fruits array';
} else {
    echo 'Apple is not in the fruits array';
} 
// Output: Apple is in the fruits array

در این مثال، از تابع in_array() کمک گرفته‌ایم تا ببینیم آیا مقدار apple در آرایه $fruits وجود دارد یا خیر. از آن‌جایی که apple در آرایه وجود دارد، خروجی true به دست می‌آید و پیام Apple is in the fruits array به نمایش درخواهد آمد. اگر apple در آرایه نبود، پیام Apple is not in the fruits array را دریافت می‌کردید.

ناگفته نماند که تابع in_array() به بزرگی و کوچکی جروف انگلیسی حساس است و بنابراین apple و Apple دو مقدار متفاوت به حساب می‌آیند. اگر می‌خواهید جستجو را بدون حساسیت به بزرگی و کوچکی حروف پیش ببرید، از تابع array_search() استفاده کنید.

چطور آرایه های PHP را در حلقه (لوپ) قرار دهیم؟

برای قرار دادن آرایه PHP درون لوپ، از حلقه foreach به این شکل استفاده می‌کنیم:

foreach ($array as $key => $value) { 
// Code to be executed for each element of the array 
}

در کد بالا، $array نام آرایه‌ای است که می‌خواهید در حلقه قرار بگیرد. $key و $value هم متغیرهایی هستند که کلید و مقدار عنصر کنونی آرایه را در خود نگه می‌دارند.

چطور آرایه های PHP را مرتب کنیم؟

مرتب‌سازی (Sorting) یکی از رایج‌ترین عملیات‌هایی است که هنگام کار با آرایه‌های PHP به سراغ آن خواهید رفت. در ادامه برخی از توابعی را آورده‌ایم که می‌توانید از آن‌ها برای مرتب‌سازی آرایه‌ها استفاده کنید:

  • sort(): مقادیر آرایه را به صورت صعودی مرتب می‌کند.
  • rsort(): مقادیر آرایه را به صورت نزولی مرتب می‌کند.
  • asort(): بسته به مقدار، آرایه Associative را به صورت صعودی مرتب می‌کند.
  • arsort(): بسته به مقدار، آرایه Associative را به صورت نزولی مرتب می‌کند.
  • ksort(): بسته به کلید، آرایه Associative را به صورت صعودی مرتب می‌کند.
  • krsort(): بسته به کلید، آرایه Associative را به صورت نزولی مرتب می‌کند.

چطور آرایه‌ای چندبعدی در پی‌اچ‌پی بسازیم؟

برای داشتن آرایه‌ای چندبعدی در PHP صرفا باید آرایه‌ای از آرایه‌ها را بسازید. مثال زیر را در نظر بگیرید:

$multi_array = [
    ['apple', 'orange'],
    ['banana', 'grape'],
    ['peach', 'plum'],
];

در کد بالا، آرایه‌ای چندبعدی ساخته‌ایم که شامل سه آرایه است و هرکدام از آن‌ها نیز دو عنصر دارند.

جمع‌بندی

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

+ منبع: SitePoint

آموزش برنامه نویسی با کوئرا کالج
شایان ضیایی

اشتراک در
اطلاع از
guest

0 دیدگاه‌
قدیمی‌ترین
تازه‌ترین بیشترین واکنش
بازخورد (Feedback) های اینلاین
View all comments