Yahoo-PHP面试题2


Posted in 面试题 onDecember 06, 2014
1. foo() 與 @foo() 有什麼分別?
2. 你如何替 PHP 的應用程式偵錯?
3. 「===」是什麼?試舉一例「==」是真但「===」是錯。
4. 你會如何定義一個沒有成員函式或特性的類別 myclass?
5. 你如何產生一個 myclass 的物件?
以下是 Matt Wilkin 提供的解答:
1. foo() 與 @foo() 有什麼分別?
foo() 會執行這個函式,任何解譯錯誤、語法錯誤、執行錯誤都會在頁面上顯示出來。
@foo() 在執行這個函式時,會隱藏所有上述的錯誤訊息。
很多應用程式都使用 @mysql_connect() 和 @mysql_query 來隱藏 mysql 的錯誤訊息,我認為這是很嚴重的失誤,因為錯誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。
2. 你如何替 PHP 的應用程式偵錯?
我並不常這樣做,我曾經試過很多不同的偵錯工具,在 Linux 系統中設定這些工具一點也不容易。不過以下我會介紹一個近來頗受注目的偵錯工具。
PHP – Advanced PHP Debugger 或稱 PHP – APD,第一步是執行以下的指令安裝:

pear install apd

安裝後在你的腳本的開頭位置加入以下的語句開始進行偵錯:

apd_set_pprof_trace();

執行完畢,打開以下檔案來查閱執行日誌:
apd.dumpdir
你也可以使用 pprofp 來格式化日誌。
詳細的資料可以參閱 http://us.php.net/manual/en/ref.apd.php。
3. 「===」是什麼?試舉一個「==」是真但「===」是假的例子。
「===」是給既可以送回布爾值「假」,也可以送回一個不是布爾值但卻可以賦與「假」值的函式,strpos() 和 strrpos() 便是其中兩個例子。
問題的第二部份有點困難,想一個「==」是假,但是「===」是真的例子卻很容易,相反的例子卻很少。但我終於找到以下的例子:

1
2
3
4
5
6
7
8



if (strpos("abc", "a") == true)
{
// 這部分永不會被執行,因為 "a" 的位置是 0,換算成布爾值「假」
}
if (strpos("abc", "a") === true)
{
// 這部份會被執行,因為「===」保證函式 strpos() 的送回值不會換算成布爾值.
}

4. 你會如何定義一個沒有成員函式或特性的類別 myclass?

1
2
3
class myclass
{
}
5. 你如何產生一個 myclass 的物件?
$obj = new myclass();
沒有比這個更簡單的了。

Tags in this post...

面试题 相关文章推荐
String是最基本的数据类型吗?
Jun 13 面试题
外企C语言笔试题
Nov 10 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
Feb 29 面试题
Net Remoting把服务器端激活两种模式
Jan 22 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
Linux如何修改文件和文件夹的权限
Sep 05 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
软件测试企业面试试卷
Jul 13 面试题
什么是封装
Mar 26 面试题
程序员跳槽必看面试题总结
Jun 28 面试题
德尔福集团DELPHI的笔试题
Feb 22 面试题
顺丰快递Java软件工程师面试题
Jul 31 面试题
Yahoo-PHP面试题1
Jul 20 #面试题
PHP面试题附答案
Nov 28 #面试题
Yahoo的PHP面试题
May 26 #面试题
PHP数据运算类型都有哪些
Nov 05 #面试题
一套PHP的笔试题
May 31 #面试题
新浪网技术部笔试题
Aug 26 #面试题
如何处理简单的PHP错误
Oct 14 #面试题
You might like
php实现rc4加密算法代码
2012/04/25 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
PHP对象相关知识总结
2017/04/09 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
js选项卡的制作方法
2017/01/23 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
python实现简单http服务器功能
2018/09/17 Python
对python3新增的byte类型详解
2018/12/04 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
专升本自我鉴定
2013/10/10 职场文书
自荐信的五个重要部分
2013/10/29 职场文书
测绘工程系学生的自我评价
2013/11/30 职场文书
争做文明公民倡议书
2014/08/29 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python