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()三个
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数的用法以及使用环境。 答: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; functionfoo(){ $num=$num*10; foo(); echo$num; 答: 结果为10.因为foo()中的$num是访问不到函数外的变量的。要想访问加上global$num;结果就成100了。 4.引用和普通变量的区别。 答:普通变量是开辟了一块新的存储空间,引用是直接指向其他的存储空间。 如: $num=10; functionfoo($num){ $num=$num*10; foo($num); echo$num; 调foo($num);函数时以变量传递,则返回10; 如果改成引用传递,返回100; $num=10; functionfoo(&$num){ $num=$num*10; foo($num); echo$num; 5.加载类库的方法。 答: function__autoload($class){ require_once("./lib/".$class.'.php'); 6.foo()和@foo()的区别。 答:加上@符号会屏蔽报错提示。 如下: $num=10; functionfoo(&$num){ $num=$num/0; foo($num); echo$num; 大家都知道除数不能为0。如果加上@符号后就没有Warning:Divisionbyzero 7.你平时如何调试PHP代码。 答:用echo打出调试或用exit调试。再加上火狐浏览器调。 8.===的作用是什么?举一个例子,使用==返回true,但是使用===返回false。 答:===的作用是比较变量的值还比较变量的类型。==只比较值。 如下: $str='111'; if($str==111){//如果改成===则返回"失败了"; echo"成功了"; }else{ echo"失败了"; 9.声明一个不含方法和属性的类。 答:classDb{} 10.创建一个对象myclass的实例。 答:$db=newmyclass(); 11.从类的内部访问或者设置属性。 答: classDB{ private$username;//用户名 private$userpwd;//密码 publicfunctiontest(){ $this->username='root';//给变量赋值 self::test2();//相当于$this->test2();//调用本类test2方法 //parent::test2();这样的话就调用了父类的test2方法 publicfunctiontest2(){