PHP array_multisort() º¯Êý
ʵÀý
·µ»ØÒ»¸öÉýÐòÅÅÁеÄÊý×飺
<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a)
;
print_r($a);
?>
¶¨ÒåºÍÓ÷¨
array_multisort() º¯Êý·µ»ØÅÅÐòÊý×é¡£Äú¿ÉÒÔÊäÈëÒ»¸ö»ò¶à¸öÊý×é¡£º¯ÊýÏȶԵÚÒ»¸öÊý×é½øÐÐÅÅÐò£¬½Ó×ÅÊÇÆäËûÊý×飬Èç¹ûÁ½¸ö»ò¶à¸öÖµÏàͬ£¬Ëü½«¶ÔÏÂÒ»¸öÊý×é½øÐÐÅÅÐò¡£
×¢ÊÍ£º×Ö·û´®¼üÃû½«±»±£Áô£¬µ«ÊÇÊý×Ö¼üÃû½«±»ÖØÐÂË÷Òý£¬´Ó 0 ¿ªÊ¼£¬²¢ÒÔ 1 µÝÔö¡£
×¢ÊÍ£ºÄú¿ÉÒÔÔÚÿ¸öÊý×éºóÉèÖÃÅÅÐò˳ÐòºÍÅÅÐòÀàÐͲÎÊý¡£Èç¹ûûÓÐÉèÖã¬Ã¿¸öÊý×é²ÎÊý»áʹÓÃĬÈÏÖµ¡£
Óï·¨
array_multisort(array1,sorting order,sorting type,array2,array3...)
²ÎÊý | ÃèÊö |
---|---|
array1 | ±ØÐè¡£¹æ¶¨Êý×é¡£ |
sorting order |
¿ÉÑ¡¡£¹æ¶¨ÅÅÁÐ˳Ðò¡£¿ÉÄܵÄÖµ£º
|
sorting type |
¿ÉÑ¡¡£¹æ¶¨ÅÅÐòÀàÐÍ¡£¿ÉÄܵÄÖµ£º
|
array2 | ¿ÉÑ¡¡£¹æ¶¨Êý×é¡£ |
array3 | ¿ÉÑ¡¡£¹æ¶¨Êý×é¡£ |
˵Ã÷
array_multisort() º¯Êý¶Ô¶à¸öÊý×é»ò¶àάÊý×é½øÐÐÅÅÐò¡£
²ÎÊýÖеÄÊý×é±»µ±³ÉÒ»¸ö±íµÄÁв¢ÒÔÐÐÀ´½øÐÐÅÅÐò - ÕâÀàËÆ SQL µÄ ORDER BY ×Ó¾äµÄ¹¦ÄÜ¡£µÚÒ»¸öÊý×éÊÇÒªÅÅÐòµÄÖ÷ÒªÊý×é¡£Êý×éÖеÄÐУ¨Öµ£©±È½ÏΪÏàͬµÄ»°£¬¾Í»á°´ÕÕÏÂÒ»¸öÊäÈëÊý×éÖÐÏàÓ¦ÖµµÄ´óС½øÐÐÅÅÐò£¬ÒÀ´ËÀàÍÆ¡£
µÚÒ»¸ö²ÎÊýÊÇÊý×é£¬ËæºóµÄÿһ¸ö²ÎÊý¿ÉÄÜÊÇÊý×飬Ҳ¿ÉÄÜÊÇÏÂÃæµÄÅÅÐò˳Ðò±êÖ¾£¨ÅÅÐò±êÖ¾ÓÃÓÚ¸ü¸ÄĬÈϵÄÅÅÁÐ˳Ðò£©Ö®Ò»£º
- SORT_ASC - ĬÈÏ£¬°´ÉýÐòÅÅÁС£(A-Z)
- SORT_DESC - °´½µÐòÅÅÁС£(Z-A)
Ëæºó¿ÉÒÔÖ¸¶¨ÅÅÐòµÄÀàÐÍ£º
- SORT_REGULAR - ĬÈÏ¡£½«Ã¿Ò»Ïî°´³£¹æË³ÐòÅÅÁС£
- SORT_NUMERIC - ½«Ã¿Ò»Ïî°´Êý×Ö˳ÐòÅÅÁС£
- SORT_STRING - ½«Ã¿Ò»Ïî°´×Öĸ˳ÐòÅÅÁС£
¼¼Êõϸ½Ú
·µ»ØÖµ£º | Èç¹û³É¹¦Ôò·µ»Ø TRUE£¬Èç¹ûʧ°ÜÔò·µ»Ø FALSE¡£ |
PHP °æ±¾£º | 4+ |
¸üÐÂÈÕÖ¾£º |
ÅÅÐòÀàÐÍ SORT_NATURAL ºÍ SORT_FLAG_CASE ÊÇÔÚ PHP 5.4 ÖÐÐÂÔöµÄ¡£ ÅÅÐòÀàÐÍ SORT_LOCALE_STRING ÊÇÔÚ PHP 5.3 ÖÐÐÂÔöµÄ¡£ |
¸ü¶àʵÀý
Àý×Ó 1
·µ»ØÒ»¸öÉýÐòÅÅÁеÄÊý×飺
<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2)
;
print_r($a1);
print_r($a2);
?>
Àý×Ó 2
µ±Á½¸öÖµÏàͬʱÈçºÎÅÅÐò£º
<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2)
;
print_r($a1);
print_r($a2);
?>
Àý×Ó 3
ʹÓÃÅÅÐò²ÎÊý£º
<?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);
?>
Àý×Ó 4
ºÏ²¢Á½¸öÊý×飬²¢°´Êý×Ö½µÐòÅÅÁУº
<?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);
?>