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

1396/3/28 علیرضا حاتمی نیا 796

php sortting array

مقدمه:

درودی دوباره خدمت شما علاقه مندان به آموزش php 
در جلسه قبل با آموزش آرایه ها در php در خدمت شما بودیم. در این جلسه با مرتب سازی آرایه ها در php آشنا می شویم. 

مرتبسازی چیست ؟ 

در علم کامپیوتر مرتبسازی به معنی چینش فهرستی از عناصر یک مجموعه به صورت ترتیبی مشخص می باشد. مرتبسازی معمولا به صورت صعودی یا نزولی انجام میشود . 
مثلا مرتبسازی اسامی دانش آموزان به صورت نزولی (از بالا به پایین) و یا مرتبسازی نمرات دانشجویان به صورت صعودی ( از پایین به بالا)


مرتبسازی آرایه ها در php : 

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

  • sort و rsort جهت مرتبسازی آرایه های اندیسی یا عددی (صعودی - نزولی)
  • asort  و arsort مرتبسازی آرایه های انجمنی به صورت صعودی - نزولی و براساس مقدار
  • ksort و krsort مرتبسازی آرایه های انجمنی به صورت صعودی - نزولی بر اساس کلید 

در ادامه به توضیح توابع بالا می پردازیم: 

تابع sort در php

این آرایه جهت مرتب سازی آرایه های عددی یا اندیسی به صورت صعودی (از پایین به بالا) استفاده می شود. هم برای اعداد و هم برای حروف استفاده می شود. 
مثال :

<?php
  $name = array ("majid", "alireza", "mahshid", "siavash");
  sort($name);
  print_r($name);
  ?>

خروجی کدهای بالا به صورت زیر است 

Array ( [0] => alireza [1] => mahshid [2] => majid [3] => siavash )

مثال: 

<?php
  $number = array (10, -5, 0, 2);
  sort($number);
  print_r($number);
  ?>

خروجی کدهای بالا به صورت زیر است 

Array ( [0] => -5 [1] => 0 [2] => 2 [3] => 10 )

تابع rsort در php

این آرایه جهت مرتب سازی آرایه های عددی یا اندیسی به صورت نزولی (از بالا به پایین) استفاده می شود. هم برای اعداد و هم برای حروف استفاده می شود. 
مثال:

<?php
  $name = array ("majid", "alireza", "mahshid", "siavash");
  rsort($name);
  print_r($name);
  ?>

خروجی کدهای بالا به صورت زیر است :

Array ( [0] => siavash [1] => majid [2] => mahshid [3] => alireza )

تابع asort در php

از این تابع برای مرتب کردن آرایه های انجمنی بر اساس مقدار و به صورت صعودی (از پایین به بالا) استفاده می شود. فرق این تابع با تابع sort در حفظ اندیس هر مقدار می باشد 
مثال: 

<?php    
$age = array("alireza"=>20, "siavash"=>14, "mahshid"=>45, "saman"=>35);
 
asort($age);
print_r($age);
?>

خروجی کدهای بالا به صورت زیر است : 

Array ( [siavash] => 14 [alireza] => 20 [saman] => 35 [mahshid] => 45 )

تابع arsort

از این تابع برای مرتب کردن آرایه های انجمنی بر اساس مقدار و به صورت نزولی (از بالا به پایین) استفاده می شود. فرق این تابع با تابع rsort در حفظ اندیس هر مقدار می باشد 

<?php
$age = array("alireza"=>20, "siavash"=>14, "mahshid"=>45, "saman"=>35);
 
arsort($age);
print_r($age);
?>

خروجی کدهای بالا به صورت زیر است

Array ( [mahshid] => 45 [saman] => 35 [alireza] => 20 [siavash] => 14 )

تابع ksort

از این تابع برای مرتب کردن آرایه های انجمنی بر اساس کلید و به صورت صعودی (از پایین به بالا) استفاده می شود. این تابع اندیس هر مقدار را بعد از مرتبسازی حفظ می کند.
 

<?php
$age = array("alireza"=>20, "siavash"=>14, "mahshid"=>45, "saman"=>35);
 
ksort($age);
print_r($age);
?>

خروجی کدهای بالا به صورت زیر می باشد

Array ( [alireza] => 20 [mahshid] => 45 [saman] => 35 [siavash] => 14 )

تابع krsort

از این تابع برای مرتب کردن آرایه های انجمنی بر اساس کلید و به صورت نزولی (از بالا به پایین) استفاده می شود. این تابع اندیس هر مقدار را بعد از مرتبسازی حفظ می کند.

<?php
$age = array("alireza"=>20, "siavash"=>14, "mahshid"=>45, "saman"=>35);
 
krsort($age);
print_r($age);
?>

خروجی کدهای بالا به صورت زیر است: 
 

Array ( [siavash] => 14 [saman] => 35 [mahshid] => 45 [alireza] => 20 )

 

کلمات کلیدی

علیرضا حاتمی نیا
طراح و برنامه نویس وب
طراحی وبسایت های واکنش گرا
طراحی و پیاده سازی سیستم مدیریت محتوا
سئو و بهینه سازی سایت