اسفند ۲, ۱۳۹۷ Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

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

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

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

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

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

تابع ( )sort

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

<!DOCTYPE html>
<html>
<body>

<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);

$clength=count($cars);
for($x=0;$x<$clength;$x++)
   {
   echo $cars[$x];
   echo "<br>";
   }
?>

</body>

 

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

BMW
Toyota
Volvo

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

 

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

۲
۴
۶
۱۱
۲۲

 تابع ( )asort

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

<!DOCTYPE html>
<html>
<body>
 
<?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>";
    }
?>
 
</body>
</html>

 

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

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

تابع ( ) ksort

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

<!DOCTYPE html>
<html>
<body>
 
<?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>";
    }
?>
 
</body>
</html>

 

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

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

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

 تابع ( )rsort

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

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

 

خروجی این مثال:

Volvo
Toyota
BMW

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

 

خروجی این مثال :

۲۲
۱۱
۶
۴
۲

تابع ( )arsort

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

<!DOCTYPE html>
<html>
<body>
 
<?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>";
    }
?>
 
</body>
</html>

 

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

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

تابع ( )krsort

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

<!DOCTYPE html>
<html>
<body>
 
<?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>";
    }
?>
 
</body>
</html>

 

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

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


برچسب ها
نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.