تابع PHP array_multisort()
مثال
Return an array sorted in ascending order:
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a);; print_r($a); ?>
تعریف و استفاده
تابع array_multisort() یک آرایه مرتب شده را برمیگرداند. شما میتوانید یک یا چند آرایه را وارد کنید. این تابع ابتدا آرایه اول را مرتب میکند، سپس آرایههای دیگر را و اگر دو یا چند مقدار مشابه باشد، آنها را بر اساس آرایه بعدی مرتب میکند.
نکته:نامهای کلید رشتهای حفظ میشوند، اما نامهای کلید عددی دوباره شمارهگذاری میشوند، از 0 شروع میکنند و به 1 افزایش مییابند.
نکته:میتوانید ترتیب مرتبسازی و نوع مرتبسازی پارامترهای آرایه را در هر آرایه تنظیم کنید. اگر تنظیم نشده باشد، هر پارامتر آرایه از ارزش پیشفرض استفاده میکند.
نحوه استفاده
array_multisort(array1,ترتیب مرتبسازی,نوع مرتبسازی,array2,array3...)
پارامتر | توضیح |
---|---|
array1 | لازم. آرایه مشخص شده. |
ترتیب مرتبسازی |
اختیاری. ترتیب مرتبسازی مشخص شده.
|
نوع مرتبسازی |
اختیاری. نوع مرتبسازی مشخص شده.
|
array2 | اختیاری. آرایه مشخص شده. |
array3 | اختیاری. آرایه مشخص شده. |
توضیح
توابع array_multisort() برای مرتبسازی چندین آرایه یا آرایههای چند بعدی استفاده میشود.
آرایههایی که در پارامتر قرار دارند به عنوان ستونهای یک جدول به ترتیب سطرها مرتب میشوند - این شبیه به عملکرد دستور ORDER BY در SQL است. آرایه اول آرایه اصلی برای مرتبسازی است. اگر سطرها (ارزشها) در آرایهها یکسان باشند، به ترتیب به سطر بعدی در آرایههای ورودی مراجعه میشود تا مقایسهها انجام شود، و به همین ترتیب.
اولین پارامتر یک آرایه است، هر پارامتر بعدی ممکن است آرایه باشد یا یکی از نشانههای ترتیب زیر (نشانههای ترتیب برای تغییر ترتیب پیشفرض استفاده میشوند):
- SORT_ASC - پیشفرض، به ترتیب افزایشی مرتب میکند. (A-Z)
- SORT_DESC - به ترتیب کاهشی مرتب میکند. (Z-A)
پس میتوان نوع مرتبسازی را مشخص کرد:
- SORT_REGULAR - پیشفرض. هر عنصر را به ترتیب معمولی مرتب میکند.
- SORT_NUMERIC - به ترتیب عددی هر عنصر را مرتب میکند.
- SORT_STRING - Sort each item in alphabetical order.
Technical Details
Return Value: | Returns TRUE if successful, and FALSE if not. |
PHP Version: | 4+ |
Update Log: |
The sorting types SORT_NATURAL and SORT_FLAG_CASE were added in PHP 5.4. The sorting type SORT_LOCALE_STRING was added in PHP 5.3. |
More Examples
Example 1
Return an array sorted in ascending order:
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Example 2
How to sort when two values are the same:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Example 3
Using sorting parameters:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,SORT_ASC,$a2,SORT_DESC);; print_r($a1); print_r($a2); ?>
Example 4
Merge two arrays and sort them in descending order by number:
<?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,66); $num=array_merge($a1,$a2); array_multisort($num,SORT_DESC,SORT_NUMERIC);; print_r($num); ?>