PHP基础语言方面的笔试题和答案
伴随着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"));
?>