مرتب سازی آرایه های انجمنی


بعضاً کار ما با آرایه های ساده و تک بعدی نیست و از آرایه های انجمنی نیز استفاده های زیادی داریم. منظور از آرایه های انجمنی (Associative Arrays) همان آرایه کلید و مقدار (Key & Value) است.


برای مرتب سازی این آرایه ها نیز چهار تابع در PHP تعریف شده است که در ادامه به بررسی آنها خواهیم پرداخت.

تابع asort

برای مرتب سازی آرایه های انجمنی با ترتیب صعودی و بر اساس مقدار (Value) هر آیتم، میتوان از این تابع استفاده کرد. به عنوان مثال فرض کنید آرایه ای داریم که تعداد کارمندان بخش های مختلف سازمان را برایمان مشخص میکند.
به صورت زیر و با استفاده از تابع asort() بخش ها را با توجه به تعداد کارمندانشان و به ترتیب صعودی مرتب میکنیم.
کد:
$arr = array( "Financial" => 4, "Programming" => 6, "Resources" => 1, "Management" => 3 ); asort( $arr ); /* output: Array ( "Resources" => 1, "Management" => 3, "Financial" => 4, "Programming" => 6 ) */
تابع ksort

این تابع مرتب سازی آرایه های انجمنی را بر اساس کلید ها و به ترتیب صعودی انجام میدهد.

مثال زیر و نتیجه حاصل شده از آن درک بهتری از نحوه عملکرد تابع ksort() به شما خواهد داد.

کد:
$arr = array( "Financial" => 4, "Programming" => 6, "Resources" => 1, "Management" => 3 ); ksort( $arr ); /* output: Array ( "Financial" => 4, "Management" => 3, "Programming" => 6, "Resources" => 1 ) */
تابع arsort

برای مرتب سازی آرایه های انجمنی را بر اساس مقدار و به ترتیب نزولی از این تابع استفاده میشود. (خروجی بر عکس assort() است.)



تابع krsort

جهت مرتب سازی آرایه های Key و Value بر اساس کلید و به ترتیب نزولی از این تابع استفاده شده که خروجی آن برعکس عملکرد تابع ksort() خواهد بود.