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

面试题 相关文章推荐
PHP开发工程师面试问题集锦
Nov 01 面试题
类的核心特性有哪些
Jan 01 面试题
益模软件Java笔试题
Mar 27 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
New delete 与malloc free 的联系与区别
Feb 04 面试题
介绍一下SQL Server的全文索引
Aug 15 面试题
请解释流与文件有什么不同
Jul 29 面试题
WINDOWS域的具体实现方式是什么
Feb 20 面试题
几个Linux面试题笔试题
Dec 01 面试题
Python里面search()和match()的区别
Sep 21 面试题
Java程序员面试题
Sep 27 面试题
设置器与访问器的定义以及各自特点
Jan 08 面试题
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 include,include_once,require,require_once
2008/09/05 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
curl和libcurl的区别简介
2015/07/01 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
深入理解node.js http模块
2018/01/24 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python新手实现2048小游戏
2015/03/31 Python
python开发之文件操作用法实例
2015/11/13 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
公司活动总结怎么写
2014/06/25 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
护理工作心得体会
2016/01/22 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers