将二维数组按指定的键值排序。
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。 数组应用&二维数组目录 1. 数组的简单应用2. 数组排序3. 数组查找4. 数组的使用思想5. 查表法6. 二维数组7. 数组综合
<p>/*</p>function:二维数组按指定的键值排序<br>author:www.scutephp.com<br>*/<br>function array_sort($array,$keys,$type='asc'){<br> if(!isset($array) || !is_array($array) || empty($array)){<br> return '';<br> }<br> if(!isset($keys) || trim($keys)==''){<br> return '';<br> }<br> if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){<br> return '';<br> }<br> $keysvalue=array();<br> foreach($array as $key=>$val){<br> $val[$keys] = str_replace('-','',$val[$keys]);<br> $val[$keys] = str_replace(' ','',$val[$keys]);<br> $val[$keys] = str_replace(':','',$val[$keys]);<br> $keysvalue[] =$val[$keys];<br> }<br> asort($keysvalue); //key值排序<br> reset($keysvalue); //指针重新指向数组第一个<br> foreach($keysvalue as $key=>$vals) {<br> $keysort[] = $key;<br> }<br> $keysvalue = array();<br> $count=count($keysort);<br> if(strtolower($type) != 'asc'){<br> for($i=$count-1; $i>=0; $i--) {<br> $keysvalue[] = $array[$keysort[$i]];<br> }<br> }else{<br> for($i=0; $i<$count; $i++){<br> $keysvalue[] = $array[$keysort[$i]];<br> }<br> }<br> return $keysvalue;<br><p>}</p>
例如有下列这样一个数组:
<p>$array=array(</p> 0=>array('id'=>8,'username'=>'scutephp'),<br> 1=>array('id'=>9,'username'=>'com'),<br> 2=>array('id'=>5,'username'=>'www')<br><p>);</p>
现在需要将这个二维数组按id升序排列,则:
array_sort($array,'id','asc');









