تخفیف ویژه

آرایه در PHP

دسته بندی: برنامه نویسی
زمان مطالعه: 7 دقیقه
۱۷ آبان ۱۳۹۹

آرایه‌ها در 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' => '[email protected]',
 'phone' => '123456',
];
?>

روش دیگر ایجاد آرایه‌ی بالا به صورت زیر است:

<?php
$employee = [];
$employee['name'] = 'Ali';
$employee['email'] = '[email protected]';
$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' => '[email protected]',
  '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 تبدیل می‌شوی که آماده‌ی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.

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

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :