您好,欢迎访问一九零五行业门户网

PHP的文件操作与算法实现的面试题示例

这篇文章主要介绍了php的文件操作与算法实现的面试题示例,选择了一些最具代表性和最基础的题目进行了归纳,需要的朋友可以参考下
操作文件
1.使用5种以上的方式获取一个文件的扩展名
要求: dir/upload.image.jpg, 找出.jpg或者jpg
;echo two($str);echo
;echo three($str);echo
;echo four($str);echo
;echo five($str);echo
;
2.写一个php函数算出两个文件的相对路径。例如$a=/a/b/c/d/e.php; $b=/a/b/12/34/c.php,b相对于a的相对路径是什么?
这道题目可以看成是求第一个公共节点的题目,网上流传的代码大部分是错的,,考虑不周全,当然我这个也只是用“../”去表示,没用./
$counta) {while ($countb > $counta) {$path .= ../;$countb --;}}// 寻找第一个公共结点for ($i = $countb - 1; $i >= 0;) {if ($patha[$i] != $pathb[$i]) {$path .= ../;$i --;} else { // 判断是否为真正的第一个公共结点,防止出现子目录重名情况for ($j = $i - 1, $flag = 1; $j >= 0; $j --) {if ($patha[$j] == $pathb[$j]) {continue;} else {$flag = 0;break;}}if ($flag)break;else$i ++;}}for ($i += 1; $i
算法
1.使用php描述冒泡排序和快速排序,对象可以是一个数组
$array[$j + 1]) {$tmp = $array[$j];$array[$j] = $array[$j + 1];$array[$j + 1] = $tmp;}}}}/*** 快速排序*/function pivotparation (&$array, $start, $end){$stand = $array[$start];while ($start = $stand) {$end --;}if ($start ;// 快速排序$count = count($arr);quicksort($arr, 0, $count - 1);print_r($arr);
2.使用php描述顺序查找和二分查找
$needle) {$end = $mid - 1;} else {$start = $mid + 1;}}return - 1;}$arr = array(1,2,3,4,5,6,7,8,9,10);$needle = 5;echo seqsearch($arr, $needle);echo
;echo midsearch($arr, 0, count($arr) - 1, $needle);
3.写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
/*** description:获取中枢点的位置** @param array $array* @param int $left* @param int $right* @param string $field* @return int*/function fetcharraypivot (&$array, $left, $right, $field){// 基准定义$stand = $array[$left];// 遍历数组while ($left = $stand[$field]) {$right --;}if ($left
利用快排的思想,增加一个field参数
其它类似信息

推荐信息