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...

面试题 相关文章推荐
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
关于Java String的一道面试题
Sep 29 面试题
2019年Java 最常见的 面试题
Oct 19 面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 面试题
存储过程的优点有哪些
Sep 27 面试题
数据库什么时候应该被重组
Nov 02 面试题
南京软件公司的.net程序员笔试题
Aug 31 面试题
XML文档面试题
Aug 05 面试题
说一下Linux下有关用户和组管理的命令
Jan 04 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Apr 17 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
Dec 03 面试题
Python面试题:Python是如何进行内存管理的
Aug 04 面试题
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编写PDF文档生成器
2006/10/09 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
js正则表达式的使用详解
2013/07/09 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现简单中文词频统计示例
2017/11/08 Python
Django框架多表查询实例分析
2018/07/04 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
外企C语言笔试题
2013/11/10 面试题
linux下进程间通信的方式
2013/01/23 面试题
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
2014年度考核工作总结
2014/12/24 职场文书
义卖募捐活动总结
2015/05/09 职场文书
欠款起诉书范文
2015/05/19 职场文书
招商银行收入证明
2015/06/17 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS