آرایه ها در PHP

چاپ

 آرایه ها در PHP

Wiki

آرایه ها انواع خاصی از متغیرها به حساب می آیند که می توانند چندین داده را در قالب یک نام ذخیره کنند.

اگر لیستی از آیتمها (برای مثال یک لیست از نام ماشین ها) را داشته باشیم و بخواهیم آنها را در متغیر ها ذخیره کنیم، چیزی شبیه زیر خواهیم داشت:

$cars1="Samand";
$cars2="Volvo";
$cars3="BMW";

حالا:

در اینجا بهترین راه حل استفاده از آرایه ها است.

یک آرایه می تواند مقادیر متغیرها را تحت یک نام برای شما نگه دارد. و شما از طریق نام آرایه می توانید به مقادیر دسترسی داشته باشید.

هر آیتم در آرایه ایندکس منحصر به فردی برای خود دارد که به راحتی از طریق ایندکس می توانید به مقادیر دسترسی پیدا کنید.

در PHP سه نوع آرایه وجود دارد:


آرایه عددی

Wiki

در یک آرایه عددی مقادیر هر سلول آرایه با یک ایندکس عددی مشخص می شود.

دو روش برای ایجاد چنین آرایه ای وجود دارد:

  1. در مثال زیر ایندکس به صورت اتوماتیک ساخته می شود(ایندکس از 0 شروع می شود):

    $cars=array("Samand","Volvo","BMW","Toyota");

  2. در مثال زیر به صورت دستی می توانید ایندکس را بسازید:

    $cars[0]="Samand";
    $cars[1]="Volvo";
    $cars[2]="BMW";
    $cars[3]="Toyota";

 در مثال زیر بعد از مقداردهی آرایه شما می توانید به مقادیر هر سلول به وسیله نام و ایندکس آرایه دسترسی پیدا کنید: 

<?php
$cars[0]="Saab";
$cars[1]="Volvo";
$cars[2]="BMW";
$cars[3]="Toyota";
echo $cars[0] . " and " . $cars[1] . " are Swedish cars.";
?>

خروجی کد بالا:

Saab and Volvo are Swedish cars.

توجه: با استفاده از تابع ()count، می توانید تعداد سلول های یک آرایه را تعیین نمایید.


آرایه های انجمنی

Wiki

در یک آرایه انجمنی ایندکس هر سلول از آرایه، با یک نام یونیک مشخص می شود.

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

مثال 1: در این مثال یک آرایه ای که سن افراد مختلف را نشان می دهد، تعریف شده است:

$ages = array("Ali"=>32, "Reza"=>30, "Amir"=>34);

مثال2: این مثال مانند قبلی است اما می تواند نشان دهد که چگونه می توانیم به روش های مختلف یک آرایه را تعریف کنیم:

$ages['Ali'] = "32";
$ages['Reza'] = "30";
$ages['Amir'] = "34";

در زیر نشان داده شده که چگونه از طریق نام و ایندکس آرایه، توانسته ایم به محتویات هر سلول آرایه دسترسی پیدا کنیم:

<?php
$ages['Ali'] = "32";
$ages['Reza'] = "30";
$ages['Amir'] = "34";

echo "Ali is " . $ages['Ali'] . " years old.";
?>

خروجی کد بالا:

Ali is 32 years old.


آرایه های چند بعدی

Wiki

هریک از عناصر آرایه در php می توانند از هر نوعی باشند پس می توانیم آرایه را نیز به عنوان عضو عناصر در نظر بگیریم. بنابراین به زبان ساده تر می توانیم یک آرایه داخل آرایه دیگر تعریف کنیم و داخل آن نیز یک آرایه دیگر و داخل آن نیز و به همین ترتیب. تعریف آرایه چندبعدی در زبان php به سادگی آرایه های معمولی است.

مثال: در این مثال یک آرایه چند بعدی تعریف شده که ایندکس آن به صورت اتوماتیک ایجاد می شود:

$families = array(array("Ali","Reza","Sara"),
                  array("Amir"),
                  array("Poya","Parniya")
                 );

اگر مایل باشید می توانید آرایه بالا را به صورت زیر تعریف کنید: (ایندکسِ مقداری)

$families = array("Ahmadi"=>array("a"=>"Ali","b"=>"Reza","c"=>"Sara"),
                  "Naderi"=>array("a"=>"Amir"),
                  "Mohamadi"=>array("a"=>"Poya","b"=>"Parniya")
                 );

 مثال: اجازه بدهید تا با یک مثال نشان دهیم که چگونه می توان به یک سلول از آرایه های چند بعدی دسترسی پیدا کرد:

echo "Is " . $families['Ahmadi']['b'] . " a part of the Ahmadi family?";

خروجی کد بالا:

Is Reza a part of the Ahmadi family?


مرتب کردن آرایه ها در PHP

Wiki

عناصر یک آرایه را می توان به صورت الفبایی یا عددی از کوچک به بزرگ (ascending) یا بزرگ به کوچک (descending) مرتب نمود.

توابع مرتب سازی آرایه ها:

در مثال زیر، آرایه انجمنی age$ بر اساس کلید، از کوچک به بزرگ مرتب شده است:

مثال (آرایه ها در PHP)

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

خروجی کد بالا:

Key=Ben, Value=37
Key=Joe, Value=43
Key=Peter, Value=35

در مثال زیر، آرایه انجمنی age$ بر اساس مقادیر سلول ها، از بزرگ به کوچک مرتب شده است:

مثال (آرایه ها در PHP)

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

خروجی کد بالا:

Key=Joe, Value=43
Key=Ben, Value=37
Key=Peter, Value=35

برگرداندن تعداد عناصر یک آرایه

Wiki

با استفاده از تابع ()count، می توان تعداد عناصر یک آرایه را برگرداند.

مثال (آرایه ها در PHP)

برگرداندن تعداد عناصر یک آرایه:

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

3

نحوه استفاده:

count(array,mode);
پارامتر توضیحات
array الزامی است، نام آرایه را تعیین می کند.
mode اختیاری است، در آرایه های چند بعدی، نحوه شمارش عناصر را تعیین می کند.
  • 0: مقدار پیشفرض، در آرایه های چند بعدی، تعداد کل عناصر را برنمی گرداند.
  • 1: در آرایه های چند بعدی، تعداد کل عناصر را برمی گرداند.

نکته: پارامتر mode از php 4.2 به بعد اضافه شده است.

یک مثال دیگر از تابع ()count

مثال (آرایه ها در PHP)

تعداد عناصر، در آرایه های چند بعدی:

<?php
$cars=array
  (
  "Volvo"=>array
  (
  "XC60",
  "XC90"
  ),
  "BMW"=>array
  (
  "X3",
  "X5"
  ),
  "Toyota"=>array
  (
  "Highlander"
  )
  );

echo "Normal count: " . count($cars)."<br>";
echo "Recursive count: " . count($cars,1);
?>

Normal count: 3
Recursive count: 8

در بیاموزهای بعدی درباره ی حلقه ی foreach توضیح داده شده است.


برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.