PHP中文件操作与算法实现的面试题有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了PHP中文件操作与算法实现的面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。操作文件1.使用5种以上的方式
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
云服务器还需要浏览器吗
网络安全信息专报
阿里云的服务器怎样安全
多米诺软件开发
宝鸡市网络安全和信息化委员会
什么是网络安全治理体系
ngb网络技术特点
2k20永久关闭服务器
自动驾驶标定软件开发费
安卓apk可以看服务器地址吗
十堰百度网络技术有限公司
广州工控软件开发怎么样
青岛软件开发年薪
控制系统软件开发服务流程
数据库记录日志文件
网络安全集中宣传日手抄报图片
行业软件开发的三个步骤
网络安全新闻剧本
数据库产生结果集
网络安全法的主要职责是什么
省厅网络安全建设
数据库文档模型的优缺点
计算机数据库的问题
刷机后显示无法连接服务器魅族
报纸数据库软件
网络安全11不准
太原2u服务器价格
小程序从服务器取数据
我的世界pvp练习服务器网易
网络技术专业服务