در این مطلب با آموزش مرتب کردن آرایه‌ ها در پی اچ پی به همراه مثالهای کاربردی با زبان ساده در خدمت شما خواهیم بود.

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

این توابع به صورت زیر دسته بندی می‌شوند:

  • ( )sort : آرایه ها را با روند افزایشی مرتب می‌کند
  • ( )rsort : آرایه ها را با روند کاهشی مرتب می‌کند
  • ( )asort : آرایه های انجمنی را با روند افزایشی و براساس ارزش آن ها مرتب می‌کند
  • ( )ksort : آرایه های انجمنی را با روند افزایشی و بر اساس کلید آن ها مرتب می‌کند
  • ( )arsort : آرایه های انجمنی را با روند کاهشی و براساس ارزش آن ها مرتب می‌کند
  • ( )krsort :آرایه های انجمنی را با روند کاهشی و براساس کلید ان ها مرتب می‌کند

مرتب کردن آرایه‌ها در PHP با روند افزایشی

تابع ( )sort

همان طور که گفته شد این تابع برای ایجاد روند افزایشی در آرایه ها است. مثال های زیر به ترتیب افزایش بر اساس حروف الفبا و دومی مثال افزایش بر اساس اعداد است.

<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);
 
$clength=count($cars);
for($x=0;$x<$clength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>

خروجی این دستور بر اساس حروف الفبا به صورت زیر است :

خروجی

BMW
Toyota
Volvo

مثال دوم

<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
 
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo $numbers[$x];
echo "<br>";
}
?>

خروجی

2
4
6
11
22

تابع ( )asort

تابع ( )asort آرایه های انجمنی را با روند افزایشی و ارزش مرتب می‌کند. مثال زیر را مشاهده کنید.

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
 
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

همان طور که در این مثال مشاهده می‌کنید آرایه ها را براساس ارزش آن ها مرتب کرده است. در این مثال ارزش آرایه همان سن افراد است.

خروجی

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

تابع ( ) ksort

تابع ( )ksort آرایه های انجمنی را با روند افزایشی و کلید مرتب می‌کند :

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

این مثال همانند مثال قبل است، با این تفاوت که از تابع ( )ksort استفاده شده است و مرتب کردن با توجه به کلید( در اینجا نام افراد است) صورت گرفته است.

خروجی

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

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

تابع ( )rsort

تابع ( )rsort آرایه ها را با روند کاهشی مرتب می‌کند. در مثال زیر المان های آرایه متغیر cars$ بر اساس حروف الفبا و به صورت کاهشی مرتب شده است و مثال دوم اعداد را به صورت کاهشی مرتب می‌کند.

<?php
$cars=array("Volvo","BMW","Toyota");
rsort($cars);
 
$clength=count($cars);
for($x=0;$x<$clength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>

خروجی

Volvo
Toyota
BMW

مثال دوم

<?php
$numbers=array(4,6,2,22,11);
rsort($numbers);
 
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo $numbers[$x];
echo "<br>";
}
?>

خروجی

22
11
6
4
2
تابع ( )arsort

مثال زیر آرایه های انجمنی را با روند کاهشی بر اساس ارزش آرایه مرتب می‌کند. در این مثال از تابع ( )arsort استفاده شده است.

<?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
تابع ( )krsort

در ادامه مثالی که مشاهده می‌کنید آرایه ها انجمنی را براساس کلید با روند کاهشی نمایش می‌دهد.

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
 
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

در این مثال کلید آرایه ها، همان نام افراد است که روند کاهشی آن بر اساس حروف الفبای انگلیسی از p به B ختم می‌شود. خروجی به صورت زیر است :

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

منابع : W3schools/Stackoverfollow

بازدید : 4,861 بار
مرتب کردن آرایه‌ ها در PHP
5.0
out of
5
(
1
) votes

نوشتن نظرات

توجه : ارسال پیام های توهین آمیز به هر شکل و با هر ادبیاتی دور از فرهنگ ایرانی ما است لذا از ارسال اینگونه پیام ها جدا خودداری فرمایید.


تصویر امنیتی

کاربران آنلاین : 2,820