php语言

PHP基础语言方面的笔试题和答案

时间:2024-08-01 20:31:43 php语言 我要投稿
  • 相关推荐

PHP基础语言方面的笔试题和答案

  伴随着Facebook的成功,PHP这门解释型的Web开发语言由于其清晰的定位继续受到非常多的关注,当然对于中小企业和个人来说,Linux+Apache/Nginx+PHP+MySQL几乎不用考虑服务器环境方面的成本;而对于开发者来说,在中小型项目开发中PHP也非常容易上手。以下是百分网小编精心为大家整理的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"));

  ?>

  8. 你如何利用 PHP 解决 HTTP 的无状态本质?

  最主要的俩各选择是session和cookie。使用session的方法是在每一页的开始加上 session_start(),然后利用$_SESSION散列表来储存session变量。至于cookie你只需记着一个原则:在输出任何文字之前调用set_cookie()函式,可以参考PHP会话管理之Cookie的使用,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 变量。

  还有一个不那么可靠的方法,就是利用访客的 IP 地址,这个方法有特定的危险性。

  9. 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列,要求执行效率高,并说明如何改善执行效率(该函数必须自己实现,不能使用php函数)。

  学习C语言的时候各种排序方法是必须掌握的基本概念,尤其是冒泡排序法是程序员都很熟悉的算法,其他的可以查看这篇很古老的文章:http://blog.csdn.net/rerli/archive/2003/12/15/19040.aspx,显然C/C++里面的指针和堆可以实现一些快速高效但是不稳定的算法,PHP里面保守一些还是采用稳定性比较好,算法时间复杂度适中的冒泡排序法。

  function BubbleSort(&$arr)

  {

  $cnt=count($arr);

  $flag=1;

  for($i=0;$i<$cnt;$i++)

  {

  if($flag==0)

  {

  return;

  }

  $flag=0;

  for($j=0;$j<$cnt-$i-1;$j++)

  {

  if($arr[$j]>$arr[$j+1])

  {

  $tmp=$arr[$j];

  $arr[$j]=$arr[$j+1];

  $arr[$j+1]=$tmp;

  $flag=1;

  }

  }

  }

  }

  $test=array(1,3,6,8,2,7);

  BubbleSort($test);

  echo "";

  var_dump($test);

  ?>

  10. 以下哪一句不会把 John 新增到 users 阵列?

  PHP中一些数组函数和字符串函数是基础中的基础。

  $users[] = "john";

  //成功把 John 新增到阵列 users。

  array_add($users,"john");

  //函式 array_add() 无定义。

  array_push($users,"john");

  //成功把 John 新增到阵列 users,参考array_push()函数。

  $users ||= "john";

  //语法错误,不存在这个运算符。

  ?>

  第一次总结,就这么多吧,有时间准备更让我鸡动的正则表达式和数据库方面的试题。

【PHP基础语言方面的笔试题和答案】相关文章:

Java语言基础试题及答案06-06

PHP语言基础知识07-16

PHP面试题及答案06-27

精选php面试题及答案06-01

护士资格基础护理练习试题和答案09-28

流行的php面试题及答案09-14

PHP基础知识考试题08-15

PHP面试题及答案(汇总)10-10

2017年基础php面试题09-01

PHP语言常用的面试题10-19