伴隨着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"));
?>