php常见面试题
- 常见面试题
-
- 表单提交中的Get和Post的异同点
- HTML的base标签是干什么用的
- echo(),print(),print_r()的区别
- 写一个email的正则表达式
- 数组[‘a’, ‘b’, ‘c’] 转换成字符串 ‘abc’
- 获取字符串’aAbB’中A首次出现的位置
- 编写一段用最小代价实现将字符串完全反序, e.g. 将 “1234567890” 转换成 “0987654321”. (用前述你最熟悉的语言编写并标注简单注释, 不要使用函数
- 请用递归实现一个阶乘求值算法 F(n): n=5;F(n)=5!=5*4*3*2*1=120
- 将字符长fang-zhi-gang 转化为驼峰法的形式:FangZhiGang
- 数组内置的排序方法有哪些?
- 用PHP写出显示客户端IP与服务器IP的代码
- 语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
- session与cookie的区别
- PHP 不使用第三个变量实现交换两个变量的值
- 写一个方法获取文件的扩展名
- 用PHP打印出前一天的时间格式是2017-3-22 22:21:21
- 对于大流量的网站,你会采用什么方法来解决访问量?
- PHP 如何接口调用?
- 用PHP header()函数实现页面404错误提示功能
- javascript 判断弹出窗口是否被屏蔽程序代码
- php序列化和反序列化用的函数
- 利用下表结构,写出发贴数最多的十个人名字的SQL语句
- 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
- 下面的代码用来做什么?请解释。
- 在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(?)中;而链接到当前页面的URL记录在预定义变量(?)中。
- 团队协作怎么保证版本统一?
常见面试题
表单提交中的Get和Post的异同点
get 请求一般用于向服务端获取数据,post 一般向服务端提交数据
get 传输的参数在 url 中,传递参数大小有限制,post 没有大小限制,
get 不安全,post 安全性比get高
get请求在服务端用Request.queryString 接受 ,post 请求在服务端用Requset.form 接受
HTML的base标签是干什么用的
必须写在head 中, base 标签为页面上的所有链接规定默认地址或默认目标
echo(),print(),print_r()的区别
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print() 只能打印出简单类型变量的值(如int,string)
print_r() 可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串
写一个email的正则表达式
/[1]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/
数组[‘a’, ‘b’, ‘c’] 转换成字符串 ‘abc’
echo implode(‘’,[‘a’, ‘b’, ‘c’]);
echo join([‘a’, ‘b’, ‘c’],'');
获取字符串’aAbB’中A首次出现的位置
$str=‘aAbB’;
echo strpos($str,"A");
编写一段用最小代价实现将字符串完全反序, e.g. 将 “1234567890” 转换成 “0987654321”. (用前述你最熟悉的语言编写并标注简单注释, 不要使用函数
$s = '1234567890';
$o = '';
$i = 0;
while(isset($s[$i]) && $s[$i] != null) {
$o = $s[$i++].$o;
}
echo $o;
请用递归实现一个阶乘求值算法 F(n): n=5;F(n)=5!=54321=120
function F($n){
if($n==0){
return 1;
}else{
return $n* F($n-1);
}
}var_dump(F(5));
将字符长fang-zhi-gang 转化为驼峰法的形式:FangZhiGang
//方法一
function Fun($str){
if(isset($str) && !empty($str)){
$newStr='';
if(strpos($str,'-')>0){
$strArray=explode('-',$str);
$len=count($strArray);
for ($i=0;$i<$len;$i++){
$newStr.=ucfirst($strArray[$i]);
}
}
return $newStr; }
}
//方法二
function Fun($str){
$arr1=explode('_',$str);
$str = implode(' ',$arr1);
return ucwords($str);
}
var_dump(Fun("fang-zhi-gang")); //FangZhiGang
数组内置的排序方法有哪些?
sort($array); //数组升序排序
rsort($array); //数组降序排序
asort($array); //根据值,以升序对关联数组进行排序
ksort($array); //根据建,以升序对关联数组进行排序
arsort($array); //根据值,以降序对关联数组进行排序
krs