关于应聘数组的考试

1.$arr=array(array('name'=>'nuojiya','price'=>698),array('name'=>'ggg','price'=>4698),array('name'=>'nuojiya','price'=>1698),);定义一个函数

让上面的二维数组按价格price的升序来排列。

//$keys 传进来的字符,比如price; $type='asc' 表示默认的排序是升序

function  sort($arr,$keys,$type='asc'){

  $arrkeys=$new_arr=array();

  foreach($arr as $k=>$v){

    $arrkeys[$k]=$v[$keys];//保持新数组索引不变吧

  }

  if($type=='asc'){asort($arrkeys)}else{arsort($arrkeys)}//asort升序排序索引不变;arsort逆向排序索引不变

  reset($arrkeys);//把指针指向第一个元素

  foreach($arrkeys as $k=>$v){

    $new_arr[]=$arr[$k];  //注意$new_arr[] 而不是$new_arr;

  }

return $new_arr;

}

//**按照价格的的排序,

1.取出价格的值,将其放到新的数组$arrkeys中。。

2.对$arrkeys 进行排序[ 按照值的排序,保持索引值不变 asort()]。。再把指针指向第一个元素。

3. 循环取  $arrkeys 的 key值,用 $new_arr=$arr[$key],,把里面的元素就按价格的升序压入新的数组中,最后,返回新的数组。

 

 

 

 

2.给$arr数组价格都加上1000返回;

function  f($arr){

  foreach($arr as $k=>$v){

    $arr[$k]['price']=$v['price']+1000;

  }

return $arr;

}

 

$array_shift()删除数组第一个元素并返回

$array_pop()删除最后一个元素并返回

$array_slice($arr,2,5)索引数组的元素

$array_splice($arr,2,5)删除索引到的数组元素

$array_keys(),$array_values()取键值啊

$array_unique()去掉重复的元素

$array_push()将元素压入数组中的末尾、

reset()指针指向第一个元素;next()指针指向下个元素;end()指针指向末尾

 

posted on 2012-08-29 22:37  paly76  阅读(127)  评论(0)    收藏  举报

导航