php二维数组的去重
public function a_array_unique($array){
$out = $in = array();
$avatar = '';
foreach($array as $key => $value){
$avatar = $value['from_avatar'];
unset($value['from_avatar']);
if(!in_array($value,$in)){
$out[$key] = array_merge($value,['from_avatar' => $avatar]);
$in[$key] = $value;
}
}
return $out;
}
PHP一维数组去重
public function a_array_unique($array){
$out = array();
foreach ($array as $key=>$value) {
if (!in_array($value, $out))
{
$out[$key] = $value;
}
}
return $out;
}
php数组内置函数的排序
sort() - 对数组进行升序排列
$cars=array("Volvo","BMW","Toyota");
sort($cars);
rsort() - 对数组进行降序排列
$numbers=array(4,6,2,22,11);
sort($numbers);
asort() - 根据关联数组的值,对数组进行升序排列
$cars=array("Volvo","BMW","Toyota");
rsort($cars);
ksort() - 根据关联数组的键,对数组进行升序排列
$numbers=array(4,6,2,22,11);
rsort($numbers);
arsort() - 根据关联数组的值,对数组进行降序排列
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
krsort() - 根据关联数组的键,对数组进行降序排列
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
arsort() - 根据数组的值,对数组进行降序排列
下面的实例根据数组的值,对关联数组进行降序排列:
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);
?>
krsort() - 根据数组的键,对数组进行降序排列
下面的实例根据数组的键,对关联数组进行降序排列:
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
?>
php冒泡排序与快速排序
public function maopao($arr){
$count = count($arr);
for($i=0;$i<$count-1;$i++){
for($j=0;$j<$count-$i-1;$j++){
if($arr[$j] > $arr[$j+1]){
$temp = $arr[$j];
$arr[$j]= $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
}
快速排序
public function quick_sort($array){
if(count($array) =< 1){return $array;}
$key = $array[0];
$left_arr = array();
$right_arr = $arr;
for($i = 1;$i < count($array);$i++){
if($array[$i] <= $key){$left_arr[] = $array[$i];}
else{$right_arr[] = $array[$i];}
}
$left_arr = quick_sort($left_arr);
$right_arr= quick_sort($right_arr);
return array_merge($left_arr,array($key);$right_arr);
}