PHP中文件操作与算法实现的面试题有哪些
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了PHP中文件操作与算法实现的面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。操作文件1.使用5种以上的方式
千家信息网最后更新 2026年10月31日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 <= $counta; $i ++) { $path .= $patha[$i] . "/"; } return $path; } $a = "/a/c/d/e.php"; $b = "/a/c.php"; $path = getRelativePath($a, $b); echo $path;
算法
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 < $end) { while ($start < $end && $array[$end] >= $stand) { $end --; } if ($start < $end) { $array[$start ++] = $array[$end]; } while ($start < $end && $array[$start] <= $stand) { $start ++; } if ($start < $end) { $array[$end --] = $array[$start]; } } $array[$start] = $stand; return $start; } function quickSort (&$array, $begin, $end) { if ($begin < $end) { $pivot = pivotParation($array, $begin, $end); quickSort($array, $begin, $pivot - 1); quickSort($array, $pivot + 1, $end); } } $arr = array( 5, 1, 3, 2, 19, 11, 25, 12, 100, 10000, 12 ); // 冒泡排序 maopaoSort($arr); print_r($arr); echo "
"; // 快速排序 $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 < $right) { while ($left < $right && $array[$right][$field] >= $stand[$field]) { $right --; } if ($left < $right) { $array[$left ++] = $array[$right]; } while ($left < $right && $array[$left][$field] <= $stand[$field]) { $left ++; } if ($left < $right) { $array[$right --] = $array[$left]; } } // 获取中枢点位置 $array[$left] = $stand; return $left; } /** * Description:快速排序主程序 * * @param array $array * @param int $begin * @param int $end * @param string $field */ function quickSort (&$array, $begin, $end, $field) { // 变量定义 $pivot = null; if ($begin < $end) { $pivot = fetchArrayPivot($array, $begin, $end, $field); quickSort($array, $begin, $pivot - 1, $field); quickSort($array, $pivot + 1, $end, $field); } }利用快排的思想,增加一个field参数
感谢你能够认真阅读完这篇文章,希望小编分享的"PHP中文件操作与算法实现的面试题有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
排序
文件
算法
篇文章
数组
路径
中枢
函数
扩展名
方式
结点
顺序
题目
周全
从小到大
两个
主程序
从小
代码
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
上海挚品互联网科技有限公司
科技金融是不是互联网金融
致骋互联网科技
互联网科技视频
鑫亿盛互联网科技
科技互联网创业计划书
互联网 科技服务平台
互联网科技生活的内容
互联网科技中介
黑科技闪耀互联网之光
洛阳昕诺飞互联网科技有限公司
呼和浩特新华互联网科技学院
中国互联网十大科技股排名
996高科技互联网公司
互联网科技的全部知识
锡山区互联网智能科技产品供应
北京市互联网新科技
互联网安防科技感
宁波允成互联网科技有限公司
花魁咖啡
科技互联网企业
互联网核心科技是什么
科技互联网技术
互联网科技的
互联网医疗科技
苏州互联网科技贷款公司
互联网企业科技类企业如何做账
领航科技大厦互联网公司
互联网科技企业文化