۲ دیدگاه نظر نازنین گودرزی
آرایه در PHP
آرایه در PHP

آرایه‌ها در PHP یکی از مهم‌ترین مباحث در یادگیری زبان 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

برای چاپ آرایه‌ در 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

برای به دست آوردن طول آرایه در PHP می‌توانید از دو تابع ()count و ()sizeof استفاده کنید.

مثال:

<?php
$days = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
// Printing array size
echo count($days);
echo "<br>";
echo sizeof($days);
?>
7 7

در PHP سه نوع آرایه وجود دارد که در ادامه به آن‌ها می‌پردازیم.

آرایه‌ عددی در PHP یا Indexed array

به آرایه‌هایی که اندیس آن‌ها عدد باشد، آرایه‌های عددی گفته می‌شود. در صورت عدم تعریف اندیس آرایه در این نوع آرایه‌ها، شمارش آن‌ها به طور پیش‌فرض از 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.";
Horse and Frog are animals.

آرایه‌ انجمنی در PHP یا Associative array

به آرایه‌هایی که اندیس آن‌ها با یک عبارت منحصر به فرد تعیین می‌شود، آرایه‌های انجمنی گفته می‌شود.

نمونه‌ای از آرایه‌ی انجمنی را در زیر مشاهده می‌کنید.

<?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>';
}

آرایه‌ دو بعدی در PHP یا Multidimensional array

آرایه‌های چند بعدی آرایه‌هایی هستند که درون خود آرایه‌های دیگری دارند.

مثال 1: در زیر نمونه‌ای از تعریف آرایه‌ دو بعدی در PHP را مشاهده می‌کنید.

$myArray = array(
  array( "one", "two", "three" ),
  array( "four", "five", "six" )
);
echo $myArray[1][2];
?>
six

مثال 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 مراجعه کنید.

جمع آرایه‌ها در 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

توابع متعددی برای مرتب سازی آرایه‌ها در PHP وجود دارد که در ادامه با آن‌ها آشنا می‌شویم.

تابع ()sort

تابع ()sort یک آرایه را به ترتیب صعودی مرتب می‌کند. مثال:

<?php      
  $guitars = ['Warvick', 'Gibson', 'Fender'];
  sort($guitars);
?>
Array ( [0] => Fender [1] => Gibson [2] => Warvick )

در مثال زیر، تابع ()sort اعداد را به ترتیب صعودی مرتب سازی می‌کند.

<?php      
  $numerals = [5, 7, 3, 23, 12];
  sort($numerals);
?>
Array ( [0] => 3 [1] => 5 [2] => 7 [3] => 12 [4] => 23 )

تابع ()rsort

تابع ()rsort آرایه را به ترتیب نزولی مرتب می‌کند. مثال:

<?php      
  $guitars = ['Fender', 'Gibson', 'Warvick'];
  rsort($guitars);
?>
Array ( [0] => Warvick [1] => Gibson [2] => Fender )

در مثال زیر، تابع ()rsort اعداد را به ترتیب نزولی مرتب سازی می‌کند.

<?php      
  $numerals = [5, 7, 3, 23, 12];
  rsort($numerals);
?>
Array ( [0] => 23 [1] => 12 [2] => 7 [3] => 5 [4] => 3 )

توابع ()krsort و ()ksort

این توابع، آرایه‌های انجمنی را مرتب سازی می‌کنند؛ اما این کار را بر اساس مقدار انجام نمی‌دهند بلکه بر اساس ترتیب حروف الفبا مرتب سازی می‌کنند. مثال:

<?php      
  $weight = [
    'Pete' => 75,
    'Benjamin' => 89,
    'Jonathan' => 101
  ];    
  ksort($weight);
?>
Array ( [Benjamin] => 89 [Jonathan] => 101 [Pete] => 75 )

مثال:

<?php      
  $weight = [
    'Pete' => 75,
    'Benjamin' => 89,
    'Jonathan' => 101
  ];
  krsort($weight);
?>
Array ( [Pete] => 75 [Jonathan] => 101 [Benjamin] => 89 )

جستجو در آرایه PHP

برای جستجو در آرایه PHP می‌توانید از تابع ()array_search استفاده کنید. این تابع، در یک آرایه مقدار مشخصی را جستجو می‌کند و در صورت یافتن آن مقدار، کلید را برمی‌گرداند؛ در غیر این صورت، FALSE برمی‌گردد.

مثال:

<?php
$arr = array(30, 2, 5, 7, 90, 35, 78);
echo array_search(35,$arr,true);
?>
5

جمع‌بندی:

آرایه‌ها ساختمان داده‌هایی هستند که می‌توانند چند مقدار را در متغیر نگهداری کنند. در PHP سه نوع آرایه وجود دارد که عبارتند از: آرایه‌های عددی، ضمنی و چند بعدی. شما می‌توانید به روش‌های مختلفی که در مقاله توضیح داده شده، به عناصر یک آرایه دسترسی پیدا کنید. برای مرتب سازی آرایه‌های PHP می‌توانید از توابع داخلی این زبان مانند توابع ()sort()، ksort()، rsort()، krsort و... استفاده کنید. امیدوار هستیم که این مقاله برای شما مفید بوده باشد. شما می‌توانید سوالات خود را در بخش نظرات با ما در میان بگذارید.

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

۲ دیدگاه
ما همه سوالات و دیدگاه‌ها رو می‌خونیم و پاسخ میدیم
۱۴ تیر ۱۴۰۲، ۱۰:۵۴

عالی بود

سیدرضا بازیار ۱۱ مرداد ۱۴۰۱، ۲۰:۰۹

مقاله خیلی خوبی بود. «ارایه‌های تو در تو» کاربردی هستند و استفاده از اون در مکان مناسب، میتونه کدهای ما رو بهینه کنه.

  • قوانین تعریف آرایه‌ها در PHP
  • چاپ آرایه در PHP
  • طول آرایه در PHP
  • آرایه‌ عددی در PHP یا Indexed array
  • آرایه‌ انجمنی در PHP یا Associative array
  • آرایه‌ دو بعدی در PHP یا Multidimensional array
  • جمع آرایه‌ها در PHP
  • مرتب سازی آرایه‌ها در PHP
  • جستجو در آرایه PHP
  • جمع‌بندی:
اشتراک گذاری مقاله در :