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

面试题 相关文章推荐
外企C语言笔试题
Nov 10 面试题
C++:局部变量能否和全局变量重名
Mar 03 面试题
链表面试题-一个链表的结点结构
May 04 面试题
StringBuilder和String的区别
May 18 面试题
介绍一下gcc特性
Oct 31 面试题
介绍一下Make? 为什么使用make
Jul 31 面试题
一份软件工程师的面试试题
Feb 01 面试题
Ajax请求总共有多少种Callback
Jul 17 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
介绍下java.util.Arrays类
Oct 16 面试题
简单的JAVA编程面试题
Mar 19 面试题
Java面试题冲刺第十五天--设计模式
Aug 07 面试题
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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP 判断变量类型实现代码
2009/10/23 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
详解python实现线程安全的单例模式
2018/03/05 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
基于python实现名片管理系统
2018/11/30 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
如何进行Linux分区优化
2013/02/12 面试题
企业车辆管理制度
2014/01/24 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
销售会计岗位职责
2014/03/15 职场文书
学术会议主持词
2014/03/17 职场文书
服务承诺书范文
2014/05/19 职场文书
银行授权委托书样本
2014/10/13 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python
Python打包为exe详细教程
2021/05/18 Python