php面试题集-基础程序题
程序员文章站
2022-06-14 08:30:12
...
基础程序题
用PHP打印出前一天的时间格式是2006-5-10 22:21:21
如何实现字符串翻转?
方法一:
方法二:
写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
请写一个函数验证电子邮件的格式是否正确
有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
方法一(对于php5及更高版本):
方法二:
如何得到当前执行脚本路径,包括所得到参数。
说明:例如有一个脚本 www.domain.com, 传给他的参数有参数1,参数2,参数3….传递参数的方法有可能是GET有可能是POST,
那么现在请写出类似http://www.domain.com/script.php? 参数1=值1&参数2=值2..... 的结果
暂无答案
写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个一维数组。
(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)
有一表 menu(mainmenu, submenu, url), 请用递归法写出一树形菜单,将所有的menu列出来。
暂无答案
给你三个数,写程序求出其最大值。
暂无答案
有一数组 $a=array(4,3,8,9,2);请将其重新排序,按从小到大的顺序列出。
暂无答案
写出匹配邮箱地址和URL的两个正则表达式。类似下面的:
邮箱地址:user_name.first@example.com.cn
URL地址:http://www.example.cpm.cn/user_profile.php?uid=100
(提示:使用标准的正则表达式,就是php中preg_*类的正则处理函数能够解析的正则)
邮箱:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
URL:/^http:\/\/[\w]+\.[\w]+[\S]*/
用php写一段代码,实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。
写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
答案2:
写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d
用PHP打印出前一天的时间格式是2006-5-10 22:21:21
date('Y-m-d H:i:s', strtotime('-1 day'));
如何实现字符串翻转?
方法一:
方法二:
写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
请写一个函数验证电子邮件的格式是否正确
有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
方法一(对于php5及更高版本):
方法二:
如何得到当前执行脚本路径,包括所得到参数。
说明:例如有一个脚本 www.domain.com, 传给他的参数有参数1,参数2,参数3….传递参数的方法有可能是GET有可能是POST,
那么现在请写出类似http://www.domain.com/script.php? 参数1=值1&参数2=值2..... 的结果
暂无答案
写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个一维数组。
(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)
quick_sort( $left_arr ); $right_arr = $this->quick_sort( $right_arr ); return array_merge( $left_arr, array( $key ), $right_arr ); } /** * 希尔排序 */ public function shell_sort( $datas ) { //分组 for ( $increment = count( $datas ) / 2; $increment > 0; $increment = $increment / 2 ) { //每个组内排序 for ( $i = $increment; $i = $increment; $j = $j - $increment ) { if ( $temp
有一表 menu(mainmenu, submenu, url), 请用递归法写出一树形菜单,将所有的menu列出来。
暂无答案
给你三个数,写程序求出其最大值。
暂无答案
有一数组 $a=array(4,3,8,9,2);请将其重新排序,按从小到大的顺序列出。
暂无答案
写出匹配邮箱地址和URL的两个正则表达式。类似下面的:
邮箱地址:user_name.first@example.com.cn
URL地址:http://www.example.cpm.cn/user_profile.php?uid=100
(提示:使用标准的正则表达式,就是php中preg_*类的正则处理函数能够解析的正则)
邮箱:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
URL:/^http:\/\/[\w]+\.[\w]+[\S]*/
用php写一段代码,实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。
写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
答案2:
写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d
0 ) { $returnPath = array_merge( $returnPath, array_fill( 1, $len - $n, '..' ) ); } $returnPath = array_merge( $returnPath, array_slice( $arrA, $n ) ); return implode( '/', $returnPath ); } echo getRelativePath( $a, $b );?>