- 相關(guān)推薦
Yahoo-PHP筆試試題
1. foo() 與 @foo() 有什么分別?
2. 你如何替 PHP 的應(yīng)用程式偵錯(cuò)?
3. 「===」是什么?試舉一例「==」是真但「===」是錯(cuò),
Yahoo-PHP筆試試題
。4. 你會(huì)如何定義一個(gè)沒有成員函式或特性的類別 myclass?
5. 你如何產(chǎn)生一個(gè) myclass 的物件?
以下是 Matt Wilkin 提供的解答:
1. foo() 與 @foo() 有什么分別?
foo() 會(huì)執(zhí)行這個(gè)函式,任何解譯錯(cuò)誤、語法錯(cuò)誤、執(zhí)行錯(cuò)誤都會(huì)在頁面上顯示出來。
@foo() 在執(zhí)行這個(gè)函式時(shí),會(huì)隱藏所有上述的錯(cuò)誤訊息。
很多應(yīng)用程式都使用 @mysql_connect() 和 @mysql_query 來隱藏 mysql 的錯(cuò)誤訊息,我認(rèn)為這是很嚴(yán)重的失誤,因?yàn)殄e(cuò)誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。
2. 你如何替 PHP 的應(yīng)用程式偵錯(cuò)?
我并不常這樣做,我曾經(jīng)試過很多不同的偵錯(cuò)工具,在 Linux 系統(tǒng)中設(shè)定這些工具一點(diǎn)也不容易。不過以下我會(huì)介紹一個(gè)近來頗受注目的偵錯(cuò)工具。
PHP – Advanced PHP Debugger 或稱 PHP – APD,第一步是執(zhí)行以下的指令安裝:
pear install apd
安裝后在你的腳本的開頭位置加入以下的語句開始進(jìn)行偵錯(cuò):
apd_set_pprof_trace();
執(zhí)行完畢,打開以下檔案來查閱執(zhí)行日誌:
apd.dumpdir
你也可以使用 pprofp 來格式化日誌,
資料共享平臺(tái)
《Yahoo-PHP筆試試題》(http://m.msguai.com)。詳細(xì)的資料可以參閱 http://us.php.net/manual/en/ref.apd.php。
3. 「===」是什么?試舉一個(gè)「==」是真但「===」是假的例子。
「===」是給既可以送回布爾值「假」,也可以送回一個(gè)不是布爾值但卻可以賦與「假」值的函式,strpos() 和 strrpos() 便是其中兩個(gè)例子。
問題的第二部份有點(diǎn)困難,想一個(gè)「==」是假,但是「===」是真的例子卻很容易,相反的例子卻很少。但我終于找到以下的例子:
1
2
3
4
5
6
7
8
if (strpos("abc", "a") == true)
{
// 這部分永不會(huì)被執(zhí)行,因?yàn)?"a" 的位置是 0,換算成布爾值「假」
}
if (strpos("abc", "a") === true)
{
// 這部份會(huì)被執(zhí)行,因?yàn)椤?==」保證函式 strpos() 的送回值不會(huì)換算成布爾值.
}
4. 你會(huì)如何定義一個(gè)沒有成員函式或特性的類別 myclass?
1
2
3
class myclass
{
}
5. 你如何產(chǎn)生一個(gè) myclass 的物件?
$obj = new myclass();
沒有比這個(gè)更簡(jiǎn)單的了。
【Yahoo-PHP筆試試題】相關(guān)文章:
機(jī)械筆試題06-10
判斷筆試題10-12
筆試題(進(jìn)程)10-26
東風(fēng)筆試題07-30
很專業(yè)的筆試題10-02
強(qiáng)生筆試題07-17
馬士基的筆試題10-09
經(jīng)典PHP筆試題09-16
德勤的筆試題(附匯豐銀行的筆試題)07-03
廈新筆試題08-30