آرایهها در PHP یکی از مهمترین مباحث در یادگیری زبان PHP هستند. آرایهها متغیرهایی میباشند که میتوانند درون خود مقادیری با انواع مختلف را نگهداری کنند. در واقع آرایهها را میتوان ساختمان داده یا لیستی از عناصر نامید که در یک متغیر نگهداری میشوند. برای نمونه اگر بخواهیم نام اعضای یک تیم فوتبال را ذخیره کنیم، میتوانیم به جای استفاده از یازده متغیر، از آرایهای به طول یازده استفاده کنیم. در ادامه با نحوهی تعریف آرایهها و توابع کار با آرایه در PHP آشنا میشویم؛ با ما همراه باشید.
یک آرایه در زبان PHP میتواند با ()array تعریف شود. مقادیر درون آرایه با کاما “,” از یکدیگر جدا میشوند و در صورتی که آرایهی شما تنها یک عضو داشته باشد، میتوانید از آن صرف نظر کنید. با علامت “<=” میتوان مقدار را به کلید نسبت داد. بدین صورت:
array(
key => value,
key2 => value2,
key3 => value3,
...
)
در زیر نمونهای از تعریف آرایه در PHP آورده شده است که میتواند به دو صورت انجام شود. روش دوم از نسخهی PHP 5.4 به بعد رایج شده است.
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// as of PHP 5.4
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>
برای چاپ آرایه در PHP میتوان از روشهای مختلفی استفاده کرد که در ادامه به آنها میپردازیم.
روش 1 – استفاده از حلقهی foreach. مثال:
<?php
// PHP program to print all
// the values of an array
// given array
$array = array("Geek1", "Geek2",
"Geek3", "1", "2","3");
// Loop through array
foreach($array as $item){
echo $item . "\n";
}
?>
Geek1
Geek2
Geek3
1
2
3
روش 2 – استفاده از حلقهی for. مثال:
<?php
// PHP program to print all
// the values of an array
// given array
$array = array("Geek1", "Geek2",
"Geek3", "1", "2","3");
$items = count($array);
// Loop through array
for($num = 0; $num < $items; $num += 1){
echo $array[$num]. "\n";
}
?>
Geek1
Geek2
Geek3
1
2
3
روش 3 – استفاده از تابع ()var_dump. مثال:
<?php
$fruits = array("Banana", "Apple", "Mango", "Coconut");
var_dump($fruits);
?>
array(4) { [0]=> string(6) “Banana” [1]=> string(5) “Apple” [2]=> string(5) “Mango” [3]=> string(7) “Coconut” }
روش 4 – استفاده از تابع ()print_r. مثال:
<?php
$fruits = array("Banana", "Apple", "Mango", "Coconut");
print_r($fruits);
?>
Array ( [0] => Banana [1] => Apple [2] => Mango [3] => Coconut )
برای به دست آوردن طول آرایه در PHP میتوانید از دو تابع ()count و ()sizeof استفاده کنید.
مثال:
<?php
$days = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
// Printing array size
echo count($days);
echo "<br>";
echo sizeof($days);
?>
در PHP سه نوع آرایه وجود دارد که در ادامه به آنها میپردازیم.
به آرایههایی که اندیس آنها عدد باشد، آرایههای عددی گفته میشود. در صورت عدم تعریف اندیس آرایه در این نوع آرایهها، شمارش آنها به طور پیشفرض از 0 شروع میشود.
در زیر، دو روش ایجاد آرایههای عددی را مشاهده میکنید:
روش اول:
$Animals=array("Horse","Frog","Rabbit","Snake");
روش دوم:
$Animals [0]="Horse";
$Animals [1]="Frog";
$Animals [2]="Rabbit";
$Animals [3]="Snake";
نحوهی دسترسی به عناصر آرایه:
echo $Animals[0] . "and" . $Animals[1] . "are animals.";
به آرایههایی که اندیس آنها با یک عبارت منحصر به فرد تعیین میشود، آرایههای انجمنی گفته میشود.
نمونهای از آرایهی انجمنی را در زیر مشاهده میکنید.
<?php
$employee = [
'name' => 'Ali',
'email' => 'Ali@example.com',
'phone' => '123456',
];
?>
روش دیگر ایجاد آرایهی بالا به صورت زیر است:
<?php
$employee = [];
$employee['name'] = 'Ali';
$employee['email'] = 'Ali@example.com';
$employee['phone'] = '123456';
?>
برای دستیابی به عناصر این آرایه میتوانید به صورت زیر عمل کنید.
echo $employee['name'];
یا از حلقهی foreach استفاده کنید.
foreach ($employee as $key => $value) {
echo $key . ':' . $value;
echo '<br>';
}
آرایههای چند بعدی آرایههایی هستند که درون خود آرایههای دیگری دارند.
مثال 1: در زیر نمونهای از تعریف آرایه دو بعدی در PHP را مشاهده میکنید.
$myArray = array(
array( "one", "two", "three" ),
array( "four", "five", "six" )
);
echo $myArray[1][2];
?>
مثال 2: در این مثال نمونهای از تعریف آرایه سه بعدی در PHP آورده شده است.
$employee = [
'name' => 'Ali',
'email' => 'Ali@example.com',
'phone' => '123456',
'sports' => ['Football', 'Tennis'],
'profiles' => ['facebook' => 'alifacebook',
'twitter' => 'alitwitter']
];
روش دسترسی به سلولهای این آرایه به صورت زیر میباشد:
echo $employee['sports'][0];
echo $employee[' sports'][1];
echo $employee['profiles']['facebook'];
echo $employee['profiles']['twitter'];
برای کسب اطلاعات بیشتر دربارهی آرایهها در PHP میتوانید به وب سایت رسمی PHP مراجعه کنید.
()array_merge یک تابع داخلی در PHP است که برای ادغام یا جمع آرایهها در PHP استفاده میشود. ادغام به گونهای انجام میشود که مقادیر یک آرایه در انتهای آرایه قبلی اضافه شود. این تابع لیستی از آرایههای جدا شده با کاما را به عنوان یک پارامتر که برای ادغام مورد نیاز است، میگیرد و یک آرایهی جدید را با مقادیر ادغام آرایههای دریافت شده در پارامتر برمیگرداند.
نکته: اگر آرایههای ورودی دارای کلیدهای رشتهای یکسانی باشند، مقدار بعدی آن کلید، نسخهی قبلی را بازنویسی میکند.
سینتکس جمع آرایهها در PHP به صورت زیر است:
array array_merge($array1, $array2, ......, $arrayn)
مثال:
<?php
$my_array1 = array("size" => "big", 2,3 );
$my_array2 = array("a", "b", "size" => "medium",
"shape" => "circle", 4);
$res = array_merge($my_array1, $my_array2);
print_r($res);
?>
Array
(
[size] => medium
[0] => 2
[1] => 3
[2] => a
[3] => b
[shape] => circle
[4] => 4
)
توابع متعددی برای مرتب سازی آرایهها در PHP وجود دارد که در ادامه با آنها آشنا میشویم.
تابع ()sort یک آرایه را به ترتیب صعودی مرتب میکند. مثال:
<?php
$guitars = ['Warvick', 'Gibson', 'Fender'];
sort($guitars);
?>
در مثال زیر، تابع ()sort اعداد را به ترتیب صعودی مرتب سازی میکند.
<?php
$numerals = [5, 7, 3, 23, 12];
sort($numerals);
?>
تابع ()rsort آرایه را به ترتیب نزولی مرتب میکند. مثال:
<?php
$guitars = ['Fender', 'Gibson', 'Warvick'];
rsort($guitars);
?>
در مثال زیر، تابع ()rsort اعداد را به ترتیب نزولی مرتب سازی میکند.
<?php
$numerals = [5, 7, 3, 23, 12];
rsort($numerals);
?>
این توابع، آرایههای انجمنی را مرتب سازی میکنند؛ اما این کار را بر اساس مقدار انجام نمیدهند بلکه بر اساس ترتیب حروف الفبا مرتب سازی میکنند. مثال:
<?php
$weight = [
'Pete' => 75,
'Benjamin' => 89,
'Jonathan' => 101
];
ksort($weight);
?>
مثال:
<?php
$weight = [
'Pete' => 75,
'Benjamin' => 89,
'Jonathan' => 101
];
krsort($weight);
?>
برای جستجو در آرایه PHP میتوانید از تابع ()array_search استفاده کنید. این تابع، در یک آرایه مقدار مشخصی را جستجو میکند و در صورت یافتن آن مقدار، کلید را برمیگرداند؛ در غیر این صورت، FALSE برمیگردد.
مثال:
<?php
$arr = array(30, 2, 5, 7, 90, 35, 78);
echo array_search(35,$arr,true);
?>
جمعبندی:
آرایهها ساختمان دادههایی هستند که میتوانند چند مقدار را در متغیر نگهداری کنند. در PHP سه نوع آرایه وجود دارد که عبارتند از: آرایههای عددی، ضمنی و چند بعدی. شما میتوانید به روشهای مختلفی که در مقاله توضیح داده شده، به عناصر یک آرایه دسترسی پیدا کنید. برای مرتب سازی آرایههای PHP میتوانید از توابع داخلی این زبان مانند توابع ()sort()، ksort()، rsort()، krsort و… استفاده کنید. امیدوار هستیم که این مقاله برای شما مفید بوده باشد. شما میتوانید سوالات خود را در بخش نظرات با ما در میان بگذارید.
اگر به یادگیری بیشتر در زمینهی PHP علاقه داری، با شرکت در دورهی آموزش PHP در کمتر از یک سال به یک متخصص PHP تبدیل میشوی که آمادهی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.