一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php多维数组排序与操作函数

时间:2011-03-08 编辑:简简单单 来源:一聚教程网

php教程多维数组排序与操作函数
function arraycd($arr){
static $res_arr=array();
if(is_array($arr))
{
 foreach($arr as $key=>$val)
   {
      if(is_array($val))
      {
         arraycd($val);
         }else{
         $res_arr[]=$val;
         }
         }
         }elseif(is_string($arr))
         {
            $res_arr[]=$arr;
            }
            return implode(",",$res_arr);
            }

$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);

$strayy=arraycd($fruits);

var_dump($strayy);

看一个多维数组排序

function sortdata($data, $col, $order){
 if (count($data)) $temp_array[key($data)] = array_shift($data);

 foreach($data as $key => $val){
  $offset = 0;
  $found = false;
  foreach($temp_array as $tmp_key => $tmp_val){
   if(!$found and strtolower($val[$col]) >

strtolower($tmp_val[$col])){
    $temp_array = array_merge((array)

array_slice($temp_array,0,$offset),
     array($key => $val),
     array_slice($temp_array,$offset)
    );
    $found = true;
   }
   $offset++;
  }
  if(!$found) {
   $temp_array = array_merge($temp_array, array

($key => $val));
   }
 }
 if (strtolower($order)=="asc"){
  $array = array_reverse($temp_array);
 } else {
  $array = $temp_array;
 }
 return $array;
}

主函数

$data=array(
 array(
  'name'=>'alice',
  'key'=>'2fc4ab3d639e5400efdfc73bc27e83f1',
  'age'=>20
 ),
 array(
  'name'=>'claudia',
  'key'=>'831c2b79c1f19af39c7e3321e11e5f5e',
  'age'=>18
 ),
 array(
  'name'=>'beatrice',
  'key'=>'6f8512a2066b8f35a27a495ce1228c76',
  'age'=>100
 ),
 array(
  'name'=>'denise',
  'age'=>25,
  'key'=>'ef6de3b178bf9f69a9fef72e4ee7bbe9'
 )
);

$arr1 = sortdata($data, "name","asc");
echo "

";
var_dump($arr1);
echo "
";

$arr2 = sortdata($data, "age","desc");
echo "

";
var_dump($arr2);
echo "
";

热门栏目