伴隨著Facebook的成功,PHP這門解釋型的Web開發語言由於其清晰的定位繼續受到非常多的關注,當然對於中小企業和個人來說,Linux+Apache/Nginx+PHP+MySQL幾乎不用考慮伺服器環境方面的成本;而對於開發者來說,在中小型專案開發中PHP也非常容易上手。以下是本站小編精心為大家整理的PHP基礎語言方面的筆試題和答案,希望對大家有所幫助!更多內容請關注應屆畢業生網!
1. 用PHP打印出前一天的時間,格式是2006-5-10 22:21:21
echo date("Y-m-d H:i:s",time()-60*60*24);
echo date("Y-m-d H:i:s",strtotime("-1 day"));
?>
2. echo(),print(),print_r()的區別
echo 是語言結構,無返回值;print 功能和echo基本相同,不同的是print是函式,有返回值;print_r 是遞迴列印,用於輸出陣列物件。
3. 能夠使HTML和PHP分離開使用的模板引擎
PHP模板引擎和框架是PHP面試題裡面必考的一些知識點,總的來說,瞭解smarty或者國內比較不錯的ThinkPHP都可以應對這類的問題,其實PHP這門語言本身也就是一個模板引擎。當然對實際應用的來說,大量使用正則的PHP模板引擎會提高後他開發和前端開發的效率,但是肯定會犧牲首次載入的效率。我在一位大牛的文章中看到過Blitz這個模板引擎,據說是使用C++寫的PHP擴充套件,號稱是速度最快的模板引擎,有興趣的可以去了解一下。
4. 如何實現字串翻轉?
PHP本身就有字串翻轉的函式:strrev(),當然也可以定義簡單的函式來完成,下面的方法一和方法二隻能翻轉非漢字字串,方法三用來翻轉字串。
//方法一:PHP系統函式
echo strrev("ABCDEF")."
";
//方法二:自定義函式,不能翻轉漢字。
function myStrrev($str)
{
$newStr = "";
for($i=0;$i
{
$newStr = $str[$i].$newStr;
}
return $newStr;
}
echo myStrrev("ABCDEF")."
";
//方法三,翻轉漢字
$newcnStr ="";
$cnStr = str_split("我愛你",3);//每個漢字佔3個位元組
//也可以使用array_reverse()翻轉後輸出
for($j=count($cnStr)-1;$j>=0;$j--)
{
$newcnStr .=$cnStr[$j];
}
echo $newcnStr;
?>
5. 執行程式段將輸出__?
//參考手冊》語言參考》運算子》算術運算子》%為取模運算,輸出0
echo 8%(-2)."
";
//取模 $a % $b 在 $a 為負值時的結果也是負值。輸出-2
echo ((-8)%3)."
";
//輸出2
echo (8%(-3))."
";
?>
6. 語句 include 和 require 都能把另外一個檔案包含到當前檔案中,它們的.區別是____;為了避免多次包含同一檔案,可以用語句____來代替它們?
答:在如何處理失敗時,include() 產生一個警告而 require() 則導致一個致命錯誤;require_once()/include_once()
7. 寫一個函式,能夠遍歷一個資料夾下的所有檔案和子資料夾。
別人寫的程式碼,已經足夠簡潔和給力了。
[php] view plain copy print?
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!="."&& $file!="..")
{
if(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
else
{
$files[]=$dir."/".$file;
}
}
}
closedir($handle);
return $files;
}
}
}
echo "
";
print_r(my_scandir("D:DouJia-3.5"));
?>