程序员找工作必备 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 协议》,转载必须注明作者和本文链接
和 PHP 学习网一起努力学习