php工程师面试问题

时间:2018-12-31 12:00:00 资料大全 我要投稿

php工程师面试问题

  PHP开发工程师面试题分享

php工程师面试问题

  1. 下列哪一句不能将'john'添加到数组$user? 答:BD

  A. $user[] = 'john';

  B. array_add($user, 'john');

  C. array_push($user, 'john');

  D. $user ||= 'john';

  2. 比较sort(), asort(), ksort()三个函数的用法以及使用环境,

php工程师面试问题

  答:sort -- 将数组的值由a-z重排,并自动替换索引从0...结束

  asort --- 此函数将数组的元素由a-z重新排列,且保持原先索引值和元素的对应关系,这个函数主要是用于

  需要将数组的元素重新排列。这个函数比较常用。

  ksort --- 此函数将数组依照索引值由a-z重新排列

  例子:

  对array('a'=>111, '9'=>"orange", 6=>2, "apple");排序。

  sort则返回: Array ( [0] => apple [1] => orange [2] => 2 [3] => 111 )值由a-z重排,索引也变了。

  asort则返回:Array ( [10] => apple [9] => orange [6] => 2 [a] => 111 )值由a-z重排,保持索引以应

  ksort则返回: Array ( [a] => 111 [6] => 2 [9] => orange [10] => apple )索引值由a-z重新排列,保持索

  引以应

  3. 以下代码输出什么内容, 为何。

  $num = 10;

  function foo(){

  $num = $num * 10;

  }

  foo();

  echo $num;

  答:

  结果为10.因为foo()中的$num是访问不到函数外的变量的。要想访问加上global $num;结果就成100了。

  4. 引用和普通变量的区别。

  答:普通变量是开辟了一块新的存储空间,引用是直接指向其他的存储空间。

  如:

  $num = 10;

  function foo($num){

  $num = $num * 10;

  }

  foo($num);

  echo $num;

  调foo($num);函数时以变量传递,则返回10;

  如果改成引用传递,返回100;

  $num = 10;

  function foo(&$num){

  $num = $num * 10;

  }

  foo($num);

  echo $num;

  5. 加载类库的方法,

资料共享平台

php工程师面试问题》(https://www.unjs.com)。

  答:

  function __autoload($class){

  require_once("./lib/".$class.'.php');

  }

  6. foo()和@foo()的区别。

  答:加上@符号会屏蔽报错提示。

  如下:

  $num = 10;

  function foo(&$num){

  $num = $num / 0;

  }

  foo($num);

  echo $num;

  大家都知道除数不能为0。如果加上@符号后就没有Warning: Division by zero

  7. 你平时如何调试PHP代码。

  答:用echo打出调试或用exit调试。再加上火狐浏览器调。

  8. === 的作用是什么?举一个例子,使用 == 返回true,但是使用 === 返回false。

  答:=== 的作用是比较变量的'值还比较变量的类型。==只比较值。

  如下:

  $str = '111';

  if($str==111){//如果改成===则返回"失败了";

  echo "成功了";

  }else{

  echo "失败了";

  }

  9. 声明一个不含方法和属性的类。

  答:class Db {}

  10. 创建一个对象myclass的实例。

  答:$db = new myclass();

  11. 从类的内部访问或者设置属性。

  答:

  class DB{

  private $username; //用户名

  private $userpwd; //密码

  public function test(){

  $this->username='root';//给变量赋值

  self::test2();//相当于$this->test2();//调用本类test2方法

  //parent::test2();这样的话就调用了父类的test2方法

  }

  public function test2(){

  }

  }

【php工程师面试问题】相关文章:

1.新浪PHP工程师面试问题

2.腾讯php开发工程师面试问题

3.PHP高级工程师面试问题

4.一份全面的PHP面试问题考卷

5.笔试题(PHP工程师)

6.新浪php工程师笔试题

7.PHP面试题大全

8.PHP面试题集