“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 協議》,轉載必須註明作者和本文連結