主頁 > 教育培訓 > 電腦培訓 > php面試題及答案面試時候更加從容(2)

php面試題及答案面試時候更加從容(2)

  4. reference 跟一個正規(guī)的變量有什么分別?如何 pass by reference?在什么情況下我們需要這樣做?

  Reference 傳送的是變量的地址而非它的值,所以在函式中改變一個變量的值時,整個應用都見到這個變量的新值。

  一個正規(guī)變量傳送給函式的是它的值,當函式改變這個變量的值時,只有這個函式才見到新值,應用的其他部分仍然見到舊值。

  $myVariable = "its' value";Myfunction(&$myVariable); // 以 reference 傳送參數以 reference 傳送參數給函式,可以使函式改變了的變量,即使在函式結束后仍然保留新值。

  5.些函式可以用來在現正執(zhí)行的腳本中插入函式庫?

  對這道題目不同的理解會有不同的答案,我的第一個想法是插入 PHP 函式庫不外乎 include()、include_once()、require()、require_once(),但細心再想,“函式庫”也應該包括 com 物件和 .net 函式庫,所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起“函式庫”的時候,別忘記這兩個函式。

  6.foo() 與 @foo() 有什么分別?

  foo() 會執(zhí)行這個函式,任何解譯錯誤、語法錯誤、執(zhí)行錯誤都會在頁面上顯示出來。

  @foo() 在執(zhí)行這個函式時,會隱藏所有上述的錯誤訊息。

  很多應用程式都使用 @mysql_connect() 和 @mysql_query 來隱藏 mysql 的錯誤訊息,我認為這是很嚴重的失誤,因為錯誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。

  7.你如何替 PHP 的應用程式偵錯?

  我并不常這樣做,我曾經試過很多不同的偵錯工具,在 Linux 系統(tǒng)中設定這些工具一點也不容易。不過以下我會介紹一個近來頗受注目的偵錯工具。

  PHP - Advanced PHP Debugger 或稱 PHP - APD,第一步是執(zhí)行以下的指令安裝:

  pear install apd安裝后在你的腳本的開頭位置加入以下的語句開始進行偵錯:

  apd_set_pprof_trace();執(zhí)行完畢,打開以下檔案來查閱執(zhí)行日志:

  apd.dumpdir

  你也可以使用 pprofp 來格式化日志。

  詳細的資料可以參閱 http://us.php.net/manual/en/ref.apd.php。

  8.“===”是什么?試舉一個“==”是真但“===”是假的例子。

  “===”是給既可以送回布爾值“假”,也可以送回一個不是布爾值但卻可以賦與“假”值的函式,strpos() 和 strrpos() 便是其中兩個例子。

  問題的第二部份有點困難,想一個“==”是假,但是“===”是真的例子卻很容易,相反的例子卻很少。但我終于找到以下的例子:

  if (strpos("abc", "a") == true){ // 這部分永不會被執(zhí)行,因為 "a" 的位置是 0,換算成布爾值“假”}if (strpos("abc", "a") === true){ // 這部份會被執(zhí)行,因為“===”保證函式 strpos() 的送回值不會換算成布爾值.}

  9.你會如何定義一個沒有成員函式或特性的類別 myclass?

  class myclass{}

  10.你如何產生一個 myclass 的物件?

  $obj = new myclass();

免責聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經查實,本站將立刻刪除。

優(yōu)惠商城

更多