程式員找作業必備 PHP 基礎面試題?
程式員找作業必備 PHP 基礎面試題(二)
1. 寫出下面的程式輸出的結果
$str="cd"; $$str="abcde"; $$str.="ok"; echo $cd;
答案:該段代碼輸出是:abcdeok
2. 寫出如下程式的輸出結果
$count=5;
function get_count(){
static $count=0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
答案:結果為 5 0 1
3. 請列舉一些你所知道的開發模式 (如工廠模式,越多越好)
MVC 模式、單態模式、敏捷開發模式、瀑布流模式、螺旋模式、值物件模式、注冊模式、偽物件模式、策略模式、迭代器模式、規范模式
4. 寫一個函式,盡可能的高效,從一個標準 url 里取出檔案的擴展名, 例如:http://cn.yahoo.com/abc /de/fg.php?id=1 需要取出 .php
答案 1:
function getExt($url){
$arr = parse_url($url);
$file = basename($arr['path']);
$ext = explode(".",$file);
return $ext[1];
}
答案 2:
function getExt($url) {
$url = basename($url);
$pos1 = strpos($url,".");
$pos2 = strpos($url,"?");
if(strstr($url,"?")){
return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
} else {
return substr($url,$pos1);
}
}
5. 求兩個日期的引數,例如 2019-2-5 ~ 2020-3-6 的日期引數
方法一:先用 strtotime 轉換成 unix 時間戳,然后相減,除以一天的秒數 86400.方法二:先用 mktime 轉換成 unix 時間戳,然后相減,除以一天的秒數 86400.
具體代碼如下:
方法一:
class Dtime
{
function get_days($date1, $date2)
{
$time1 = strtotime($date1);
$time2 = strtotime($date2);
return ($time2-$time1)/86400;
}
}
$Dtime = new Dtime;
echo $Dtime->get_days('2019-2-5', '2020-3-6');
方法二:
$temp = explode('-', '2007-2-5');
$time1 = mktime(0, 0, 0, $temp[1], $temp[2], $temp[0]);
$temp = explode('-', '2007-3-6');
$time2 = mktime(0, 0, 0, $temp[1], $temp[2], $temp[0]);
echo ($time2-$time1)/86400;
面試題系列:
2020最新PHP面試題(附帶答案)
分享一波騰訊PHP面試題
2019年PHP最新面試題(含答案)
Redis 高級面試題 學會這些還怕進不了大廠?
面試官三年經驗PHP程式員知識點匯總
php面試題之PHP核心技術
掌握 Redis這些 知識點,面試官一定覺得你很 NB
當面試官問你:如何進行性能優化?
PHP 經典面試題集
更多學習內容請訪問:
騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71662.html
標籤:PHP
上一篇:Docker命令基礎
