写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组。(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的 基础知识)
//冒泡排序(数组排序)
function bubble_sort($array) { $count = count($array); if ($count <= 0) return false; for($i=0; $i<$count; $i++){ for($j=$count-1; $j>$i; $j--){ if ($array[$j] < $array[$j-1]){ $tmp = $array[$j]; $array[$j] = $array[$j-1]; $array[$j-1] = $tmp; } } } return $array; }
//快速排序(数组排序)
function quicksort($array) { if (count($array) <= 1) return $array; $key = $array[0]; $left_arr = array(); $right_arr = array(); for ($i=1; $i<count($array); $i++){ if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; } $left_arr = quicksort($left_arr); $right_arr = quicksort($right_arr); return array_merge($left_arr, array($key), $right_arr); }
.写一个遍历指定目录下所有子目录和子文件的函数(提示:可以使用递归的方法)
function dir_all ( $path ) { $handler = opendir($path); while (false!==($tmp = readdir($handler))) { if(is_dir( "$path/$tmp" )) { if ($tmp=="." | $tmp=="..") continue; echo $tmp."<br>/n"; dir_all ("$path/$tmp"); } else { echo $tmp ."<br>/n"; } } }
写出匹配邮箱地址和URL的两个正则表达式。类似下面的:
//邮箱地址:user_name.first@example.com.cn URL地址:http://www.example.com.cn/user_profile.php?uid=100 (提示:使用标准的正则表达式,就是PHP中preg_* 类的正则处理函数能够解析的正则) //邮箱://w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/ URL:/^http:////[/w]+/.[/w]+[/S]*/