<?php
//冒泡排序
function bubbleSort($arr){
$count=count($arr);
for ($i=0; $i < $count; $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;
}
}
}
return $arr;
}
$arr=array(20,40,60,80,30,70,90,10,50,0);
print_r(bubbleSort($arr));
//快速排序function quickSort(&$arr){$count=count($arr);if($count>1){$k=$arr[0];$x=array();$y=array();for ($i=1; $i < $count; $i++) { if($arr[$i]<=$k){$x[]=$arr[$i];}elseif($arr[$i]>$k){$y[]=$arr[$i];}}$x=quickSort($x);$y=quickSort($y);return array_merge($x,array($k),$y);}else{return $arr;}}
$arr=array(20,40,60,80,30,70,90,10,50,0);
print_r(bubbleSort($arr));
//顺序排序function orderSort($arr){$count=count($arr);for ($i=0; $i < $count-1; $i++) { $p=$i;for ($j=$i+1; $j < $count; $j++) { $p=$arr[$p]>$arr[$j]?$j:$p;}if($p!=$i){$temp=$arr[$i];$arr[$i]=$arr[$p];$arr[$p]=$temp;}}return $arr;}$arr=array(20,40,60,80,30,70,90,10,50,0);print_r(orderSort($arr));
//对二维数组进行排序
/*function array_sort_by_any_row($array_name, $row_id, $order_type){
$array_temp=array();
foreach ($array_name as $key => $value) {
$array_temp[$key]=$value[$row_id];
}
if($order_type==="ASC"){
//顺序
asort($array_temp);
}else{
//倒序
arsort($array_temp);
}
$result_array=array();
foreach ($array_temp as $key => $value) {
$result_array[$key]=$array_name[$key];
}
return $result_array;
}
$arr = array(
array(‘num’=>5, ‘value’=>6),
array(‘num’=>2, ‘value’=>39),
array(‘num’=>36, ‘value’=>29)
);
$sortarr = array_sort_by_any_row($arr, ‘num’, ‘DESC’);
print_r($sortarr);*/
//第二种方法 对任意列进行排序
/*function array_sort($arr,$order){
if(is_array($arr) && is_array($order)){
foreach($order as $key=>$val){
if($val == 'desc'){
foreach ($arr as $value) {
$arr1[][$key] = $value[$key];
}
arsort($arr1);
}else{
foreach ($arr as $value) {
$arr2[][$key] = $value[$key];
}
asort($arr2);
}
}
return array($arr1,$arr2);
}else{
return false;
}
}
$arr = [
['age'=>'1','id'=>1],
['age'=>'2','id'=>3],
['age'=>'3','id'=>2],
['age'=>'5','id'=>7]
];
$order = [
'age'=>'asc',
'id'=>'desc'
];
$res = array_sort($arr,$order);
echo "<pre>";
print_r($res);
echo "</pre>";*/
//
写5个不同的函数,来截取一个全路径的文件的扩展名,允许封装php库中已有的函数
$path = str_replace('\\', '/',__FILE__); echo $path.'<br />';
function extname1($path) {
return strrchr($path, ‘.’);
}
function extname2($path) {
$position = strrpos($path, ‘.’);
return substr($path, $position);
}
function extname3($path) {
$arr = explode(‘.’, $path);
return $arr[count($arr) – 1];
}
function extname4($path) {
preg_match_all(‘/[\w\/\:\-]+\.([\w]+)$/’, $path, $out);
return $out[1][0];
}
function extname5($path) {
return preg_replace(‘/^[^\.]+\.([\w]+)$/’, ‘${1}’, basename($path));
}
print_r(extname5($path));