欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php程序员面试题及答案

程序员文章站 2022-05-26 13:10:19
...
  1. class my_class
  2. {
  3. function my_funct ($my_param)
  4. {
  5. user_error ("please define me", E_ERROR);
  6. }
  7. function b()
  8. {
  9. return 10;
  10. }
  11. }
  12. ?>
复制代码

A.多重继承 B.接口 C.抽象方法 D.private 方法 E.函数重载(function overloading)

7. 假设定义了一个 testclass 类,它的构造函数的函数名是什么? 15 A.__construct B.initialize C.testclass D.__testclass E.只有 pHp5 才支持构造函数

8. 一个类如何覆盖默认的序列化机制? A.使用__shutdown 和__startup 方法 B.调用 register_shutdown_function()函数 C.使用__sleep()和__wakeup()方法 D.无法覆盖默认序列化机制 E.使用 ob_start()将类放入输出缓冲中

9. 以下哪些面向对象的概念无法在 pHp4 中实现? 抽象类 Final 类 public、private、protected(ppp)方法 接口 A.抽象类 B.ppp 方法 C.ppp 方法和接口 D.以上所有都不可用 E.以上所有都可用

10.如何在类的内部调用 mymethod 方法? A.$self=>mymethod(); B.$this->mymethod(); C.$current->mymethod(); D.$this::mymethod() E.以上都不对

11.以下脚本输出什么?

  1. class my_class
  2. {
  3. var $my_var;
  4. function _my_class ($value)
  5. {
  6. $this->my_var = $value;
  7. }
  8. }
  9. $a = new my_class (10);
  10. echo $a->my_var;
  11. ?>
复制代码

A.10 B.Null C.Empty D.什么都没有 E.一个错误

12.以下脚本输出什么?

  1. class my_class
  2. {
  3. var $value;
  4. }
  5. $a = new my_class;
  6. $a->my_value = 5;
  7. $b = $a;
  8. $b->my_value = 10;
  9. echo $a->my_value;
  10. ?>
复制代码

A.10 B.5 C.2 D.Null E.什么都没有

13.以下脚本输出什么?

  1. $global_obj = null;
  2. class my_class
  3. {
  4. var $value;
  5. function my_class()
  6. {
  7. global $global_obj;
  8. $global_obj = &$this;
  9. }
  10. }
  11. $a = new my_class;
  12. $a->my_value = 5;
  13. $global_obj->my_value = 10;
  14. echo $a->my_value;
  15. ?>
复制代码

A.5 B.10 C.什么都没有 D.构造函数将报错 E.510

14.考虑如下一段代码,执行时,$eight_tenths->to_string 方法返回的字符串是 8/10 而不是希望的 4/5,为什么?

  1. class fraction {

  2. var $numerator;
  3. var $denominator;
  4. function fraction($n, $d) {
  5. $this->set_numerator($n);
  6. $this->set_denominator($d);
  7. }
  8. function set_numerator($num) {
  9. $this->numerator = (int)$num;
  10. }
  11. function set_denominator($num) {
  12. $this->denominator = (int)$num;
  13. }
  14. function to_string() {
  15. return “{$this->numerator} / {$this->denominator}”;
  16. }
  17. }
  18. function gcd($a, $b) {

  19. return ($b > 0) ? gcd($b, $a % $b) : $a;
  20. }
  21. function reduce_fraction($fraction) {

  22. $gcd = gcd($fraction->numerator,
  23. $fraction->denominator);
  24. $fraction->numerator /= $gcd;
  25. $fraction->denominator /= $gcd;
  26. }
  27. $eight_tenths = new fraction(8,10);
  28. /* Reduce the fraction */
  29. reduce_fraction($eight_tenths);
  30. var_dump($eight_tenths->to_string());
  31. ?>
复制代码

A.reduce_fraction 函数必须返回一个值 B.reduce_fraction 函数必须接受一个整型值 C.gcd 函数有问题 D.必须通过引用的方式传递$eight_tenths 对象 E.对象的实例不能传递给方法以外的其他结构。

15.以下代码是做什么的?

  1. require_once("myclass.php");
  2. myclass::mymethod();
  3. ?>
复制代码

A.静态调用 mymethod 方法 B.生成 myclass 的实例并调用 mymethod 方法 C.产生一个语法错误 D.默认 myclass 类最后被创建出的实例并调用 mymethod() E.调用名为 myclass::mymethod()的函数

16.pHp 中有静态类变量吗? A.有 B.没有

17.以下脚本输出什么?

  1. class a
  2. {
  3. function a ($x = 1)
  4. {
  5. $this->myvar = $x;
  6. }
  7. }
  8. class b extends a
  9. {
  10. var $myvar;
  11. function b ($x = 2)
  12. {
  13. $this->myvar = $x;
  14. parent::a();
  15. }
  16. }
  17. $obj = new b;
  18. echo $obj->myvar;
  19. ?>
复制代码

A.1 B.2 C.一个错误,因为没有定义 a::$myvar D.一个警告,因为没有定义 a::$myvar E.什么都没有

18.如何即时加载一个类? A.使用__autoload 魔术函数 B.把它们定义为 forward 类 C.实现一个特殊的错误处理手段 D.不可能 E.用有条件限制的 include 来包含它们

19.__________提供了一个高性能的解决面向对象中重复出现的问题的方案? 答案:__________

20.以下脚本输出什么?

  1. class a
  2. {
  3. function a()
  4. {
  5. echo \parent called\;
  6. }
  7. }
  8. class b
  9. {
  10. function b()
  11. {
  12. }
  13. }
  14. $c = new b();
  15. ?>
复制代码

A.parent called B.一个错误 C.一个警告 D.什么都没有 1 2 下一页 尾页