程序员找工作必备 PHP 基础面试题 - 第二十天
“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
最后各位可以扫下方二维码关注我公众号,目前我正在更新基础面试题,之后会更新中高级、redis、liunx 面试题
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: