php数组详解

php中的常用函数如下

$arr=array(1,243,45,346,34,5,3,1,346,342,346,'飞机','飞机');
sort($arr);//从小到大的顺序排序
print_r($arr);
rsort($arr);//从大到小的顺序排序
print_r($arr);
$arr2=array_count_values($arr);//获取数组中元素出现的次数;
asort($arr2);//对数组排序,保持索引关系
arsort($arr2);//对数组排序保持索引关系
in_array('246',$arr);//检查数组中是否存在给定的值
array_unique($arr);//删除数组中重复的值,并重新建立索引
//array_key_exists() 检查键名称是否存在索引中,count()得到数组的长度,如果得到字符串长度用strlen
print_r($arr2);
print_r($arr);
exit;

 


//按照二维数组其中的一项值进行排序,实例如下;
$a
=gettimeofday(true); $arra[0]=array('age' => 80,'sex' => 'femail','zhiye' => 'gcs'); $arra[1]=array('age' => 60,'sex' => 'mail','zhiye' => 'ui'); $arra[2]=array('age' => 87,'sex' => 'femail','zhiye' => 'g11cs'); $arra[3]=array('age' => 70,'sex' => 'mail','zhiye' => 'sdf'); $arra[4]=array('age' => 89,'sex' => 'femail','zhiye' => 'dfgs'); $arra[5]=array('age' => 20,'sex' => 'mail','zhiye' => '646'); $arrb=array(); foreach($arra as $key => $value) { $arrb[$key]=$value['age']; } array_multisort($arrb, SORT_ASC, $arra);//如果是从大到小的顺序,则SORT_DESC; print_r($arra);//用如下方法也行,但是会稍微慢点 /* asort($arrb); $arrc=array(); foreach($arrb as $key => $value) { $arrc[]=$arra[$key]; } */

下面的代码表示,删除一个数组元素,并且重新建立索引;

$arr=array('a' => 'qqqf','b' => 'sdf','c' => '23sd');
$result=array_splice($arr,1,1);//第二个参数表示从第二项开始删除(包括第二项),第三个参数表示删除1个元素,并且把删除后的新数组重新建立索引;
print_r($result);//返回删除的数组元素,是一个数组
print_r($arr);exit;//返回删除后的新数组;

////////////////////////////////////////////////
    unset($arr['b']);
    print_r(array_merge($arr));//这个代码也可以重新建立索引,但是速度比上面的会稍微慢些

下面的实例为,如果两个数组中有一项相同,需要按照这个共同项合并时用到

$arra[0]=array('uid' =>1,'age' => 80,'sex' => 'femail','zhiye' => 'gcs');
$arra[1]=array('uid' =>2,'age' => 60,'sex' => 'mail','zhiye' => 'ui');
$arra[2]=array('uid' =>3,'age' => 87,'sex' => 'femail','zhiye' => 'g11cs');
$arra[3]=array('uid' =>4,'age' => 70,'sex' => 'mail','zhiye' => 'sdf');
$arra[4]=array('uid' =>5,'age' => 89,'sex' => 'femail','zhiye' => 'dfgs');
$arra[5]=array('uid' =>6,'age' => 20,'sex' => 'mail','zhiye' => '646');

$arrb[0]=array('uid' =>1,'age2' => 180,'sex2' => '2femail','zhiye2' => '2gcs');
$arrb[1]=array('uid' =>2,'age2' => 160,'sex2' => '2mail','zhiye2' => '2ui');
$arrb[2]=array('uid' =>3,'age2' => 187,'sex2' => '2femail','zhiye2' => '2g11cs');
$arrb[3]=array('uid' =>4,'age2' => 170,'sex2' => '2mail','zhiye2' => '2sdf');
$arrb[4]=array('uid' =>5,'age2' => 189,'sex2' => '2femail','zhiye2' => '2dfgs');
$arrb[5]=array('uid' =>6,'age2' => 120,'sex2' => '2mail','zhiye2' => '2646');
foreach($arra as $key => $value)
{
	 $arr[$key]=array_merge($arra[$key],$arrb[$key]);//将两个数组合并为一个数组,如果键值相同,则第一个数组的键值会被覆盖;
}
print_r($arr);exit;

 

posted @ 2013-03-26 15:55  qingq  阅读(218)  评论(0编辑  收藏  举报