程序员面试必备PHP基础面试题 – 第二十天

一、写出你认为语言中的高级函数(其实就是写熟悉的函数)

array_pop():弹出数组的最后一个元素
explode():按特点符号,分隔字符串,返回数组
implode();按特点符号,连接数组成为字符串
substr();取出字符串中的一部分
strrpos();获得字符出现的最后的个位置

二、简述Cookie的设置及获取过程

设置cookie setCookie(‘名字’,’值’,时间,’位置’)
获取cookie COOKIE[‘名字’]

三、面向对象中接口和抽象类的区别及应用场景

抽象类:
1 //1.定义一些方法,子类必须完全实现这个抽象中所有的方法
2 //2.不能从抽象类创建对象,它的意义在于被扩展
3 //3.抽象类通常具有抽象方法,方法中没有大括号
4 //4.抽象方法不必实现具体的功能,由子类来完成
5 //5.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义
6 //6.抽象类的方法可以有参数,也可以为空
7 //7.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

接口:
1 //如果要使用接口,必须定义接口类中的所以方法少一个都不可以(abstract除外)。
2 //这样如果在一个大项目中不管别人怎么去做下面的方法,但是他必须实现本接口中的所有方法才可以!

四、用面向对象来实现A对象继承B和C对象

Class C{

}
Class B extends C{

}
Class A extends B{

}

五、写一个函数Check_ip,使用正则表达式检测一个IPV4的IP是否正确,正确返回1,错误返回0,例如 Check_ip(‘127.0.01’)。

function get_preg($ip){
if(preg_match('/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/ims',$ip)){
return 1;
}else{
return 0;
}

六、有一数组 $a=array(4,3,8,9,2); 写一个排序函数对数组进行排序操作,要求使用快速排序法.快速排序的基本思想是:在待排序记录序列中,任取其中的一个记录(这里取了第一个)并以该记录的关键字作为基准,经过一趟排序后,所有关键字比它小的记录都交换到它的左边,比它大的记录都交换到它的右边.然后再分别对划分到它左,右两部分记录序列重复上述过程,直至每一部分最终划分为一个记录时为止即完成了排序工作.

function quick($arr)
{
$left=array();
$right=array();
if(count($arr)<=1)
{
return $arr;
}
for($i=1;$i<count($arr);$i++){
if($arr[0]>$arr[$i]){
$left[]=$arr[$i];
}else{
$right[]=$arr[$i];
}
}
$left1=quick($left);
$right1=quick($right);
return array_merge($left1,array($arr[0]),$right1);
}

七、在开发项目中,需要上传超过8M的文件,请说明在php.ini需要修改的配置项。

Post_max_size=8M
Upload_max_filesize=8M

作者:PHP学习网,本文 程序员面试必备PHP基础面试题 – 第二十天 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论