位置: 编程技术 - 正文
推荐整理分享PHP数组函数usort()的用法(php中数组的常用函数及用法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php中数组的常用函数及用法,php数组函数面试题,php数组函数大全,php数组函数实现机选双色球,php数组函数大全,php数组函数大全,php数组函数面试题,php数组函数有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!
usort
(PHP 4, PHP 5)
usort — 使用用户自定义的比较函数对数组中的值进行排序
说明bool usort ( array &$array , callable $cmp_function )
本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
Note:
如果两个成员比较结果相同,则它们在排序后的数组中的顺序未经定义。
Note: 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。
参数array
输入的数组
cmp_function
在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
int callback ( mixed $a, mixed $b ) Caution
Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callbacks return value. So values such as 0. and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.
返回值成功时返回 TRUE, 或者在失败时返回 FALSE。
更新日志版本 说明 4.1.0 引进了新的排序算法。用户自定义函数 cmp_function 将不再保留这些单元的原有顺序。
范例Example #1 usort() 例子
<?phpfunctioncmp($a,$b){if($a==$b){return0;}return($a<$b)?-1:1;}$a=array(3,2,5,6,1);usort($a,"cmp");foreach($aas$key=>$value){echo"$key:$valuen";}?>以上例程会输出:
Note:
很明显在这个小例子中用 sort() 函数更合适。
Example #2 使用多维数组的 usort() 例子
<?phpfunctioncmp($a,$b){returnstrcmp($a["fruit"],$b["fruit"]);}$fruits[0]["fruit"]="lemons";$fruits[1]["fruit"]="apples";$fruits[2]["fruit"]="grapes";usort($fruits,"cmp");while(list($key,$value)=each($fruits)){echo"$fruits[$key]:".$value["fruit"]."n";}?>当排序多维数组时,$a 和 $b 包含到数组第一个索引的引用。
以上例程会输出:
Example #3 usort() example using a member function of an object
<?phpclassTestObj{var$name;functionTestObj($name){$this->name=$name;}/*Thisisthestaticcomparingfunction:*/staticfunctioncmp_obj($a,$b){$al=strtolower($a->name);$bl=strtolower($b->name);if($al==$bl){return0;}return($al>$bl)?+1:-1;}}$a[]=newTestObj("c");$a[]=newTestObj("b");$a[]=newTestObj("d");usort($a,array("TestObj","cmp_obj"));foreach($aas$item){echo$item->name."n";}?>以上例程会输出:
Example #4 usort() example using a closure to sort a multi-dimensional array
<?php$array[0]=array(key_a=>z,key_b=>c);$array[1]=array(key_a=>x,key_b=>b);$array[2]=array(key_a=>y,key_b=>a);functionbuild_sorter($key){returnfunction($a,$b)use($key){returnstrnatcmp($a[$key],$b[$key]);};}usort($array,build_sorter(key_b));foreach($arrayas$item){echo$item[key_a].,.$item[key_b]."n";}?>以上例程会输出:
参见uasort() - 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 数组排序函数对比
PHP数组函数sort()的用法 sort(PHP4,PHP5)sort对数组排序说明boolsort(array&$array[,int$sort_flags=SORT_REGULAR])本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。参
PHP数组函数uksort()的用法 uksort(PHP4,PHP5)uksort使用用户自定义的比较函数对数组中的键名进行排序,uksort() 函数将使用用户提供的比较函数对数组中的键名进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
PHP数组函数uasort()的用法 uasort(PHP4,PHP5)uasort使用用户自定义的比较函数对数组中的值进行排序并保持索引关联,本函数对数组排序并保持索引和单元之间的关联。主要用于对那些单元顺序很重要的结合数组进行排序。比较函数是用户自定义的。
标签: php中数组的常用函数及用法
本文链接地址:https://www.jiuchutong.com/biancheng/275203.html 转载请保留说明!友情链接: 武汉网站建设