网站制作学习网PHP→正文:php多维数组排序
字体:

php多维数组排序

PHP 2010/5/29 12:10:19  点击:不统计

原载于:转www.载for网站制作学习asp必.cn究
上篇文章对php的一维数组进行排序,并用例子说明,我们本次学习php对多维数组进行排序
我们通过一个二维排序的例子对多维数组排序进行一个简单的理解。其实多维数组的排序是在一维数值上面延伸出来的。
-->
<?php
$forasp_cn = Array(Array("1","a","A"),Array("3","c","C"),Array("2","b","B"),Array("4","d","D"));
print_r($forasp_cn);
//正常输出Array ( [0] => Array ( [0] => 1 [1] => a [2] => A ) [1] => Array ( [0] => 3 [1] => c [2] => C ) [2] => Array ( [0] => 2 [1] => b [2] => B ) [3] => Array ( [0] => 22 [1] => d [2] => D ) )
//如果要对数组进行排序,则要使用函数usort()(u表示user,即用户创建的排序),告诉php如何比较各个元素,必须有自己编写的比较函数。
function forasp_bijiao($cn1,$cn2)//$cn1,$cn2是表示比较的函数数组
{
if($cn1[0]==$cn2[0])//通过函数数组的第一个值进行比较,也可以将0改为1,即通过数组的第二个数值比较www-fo-a-sp.cn
{return 0;}
else if($n1[0]<$n2[0])
{return -1;}
else
{return 1;}
}
echo "<br>";
usort($forasp_cn,'forasp_bijiao');
print_r($forasp_cn);
//输出:Array ( [0] => Array ( [0] => 2 [1] => b [2] => B ) [1] => Array ( [0] => 1 [1] => a [2] => A ) [2] => Array ( [0] => 3 [1] => c [2] => C ) [3] => Array ( [0] => 4 [1] => d [2] => D ) )
//在此不是很明白的是数组的第一个竟然是2,目前还搞不清楚
//如果想对数组进行反向排序,直接将-1和1的位置进行调换即可。
?>

原载于:网f站o学a习s制p作.cn

·上一篇:php数组排序 >>    ·下一篇:php数组的其他方法 >>
推荐文章
最新文章