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

面试题 相关文章推荐
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
如何打开WebSphere远程debug
Oct 10 面试题
怎样声明接口
Sep 19 面试题
大整数数相乘的问题
Jul 22 面试题
写出一个方法实现冒泡排序
Jul 08 面试题
iostream与iostream.h的区别
Jan 16 面试题
能否解释一下XSS cookie盗窃是什么意思
Jun 02 面试题
什么是索引指示器
Aug 20 面试题
C#如何调用Windows程序打开一个文档
Dec 26 面试题
几个Linux面试题笔试题
Aug 01 面试题
某公司面试题
Mar 05 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
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实现ODBC数据分页显示一例
2006/10/09 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
javascript读取xml
2006/11/04 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python如何定义带参数的装饰器
2018/03/20 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
Django操作session 的方法
2020/03/09 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
设计师珠宝:Ylang 23
2018/05/11 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
入职担保书怎么写
2014/05/12 职场文书
员工培训协议书
2014/09/15 职场文书
环保建议书作文500字
2015/09/14 职场文书