Yahoo-PHP面试题3

2023-07-06   


1. 在一個類別內如何存取這個類別的特性及變改它的值?
   2. include 和 include_once 有什麼分別?require 又如何?
   3. 以下哪一個函式可以把瀏覽器轉向到另一個頁面?
   * redir()
   * header()
   * location()
   * redirect()
   4. 以下哪一個函式可以用來開啟檔案以便讀/寫?
   * fget()
   * file_open()
   * fopen()
   * open_file()
   5. mysql_fetch_row() 和 mysql_fetch_array() 有什麼分別?
   6. 下面的代碼用來做什麼?請解釋。
  
   $date=’08/26/2003′;
   print ereg_replace(”([0-9]+)/([0-9]+)/([0-9]+)”,”\\2/\\1/\\3″,$date);
  
   以下是 Matt Wilkin 提供的解答:
  
   1. 在一個類別內如何存取這個類別的特性及變改它的值?
   使用語句:$this->propertyName,例如:
  
   class myclass
  
   private $propertyName;
   public function __construct()
  
   $this->propertyName = “value”;
  
  
  
   2. include 和 include_once 有什麼分別?require 又如何?
   三者都是用來在腳本中插入其他檔案,視乎 url_allow_fopen 是否核准,這個檔案可以從系統內部或外部取得。但他們之間也有微細的分別:
   include():這個函式容許你在腳本中把同一個檔案插入多次,若果檔案不存在,它會發出系統警告並繼續執行腳本。
   include_once():它跟 include() 的功能相似,正如它的名字所示,在腳本的執行期間,有關檔案只會被插入一次。
   require():跟 include() 差不多,它也是用來在腳本中插入其他檔案,但若果檔案不存在,它會發出系統警告,這個警告會引致致命錯誤令腳本中止執行。
   3. 以下哪一個函式可以把瀏覽器轉向到另一個頁面?
   * redir()
   這不是一個 PHP 函式,會引致執行錯誤。
   * header()
   這個是正確答案,header() 用來插入卷頭資料,可以用來使瀏覽器轉向到另一個頁面,例如:
  
   header(”Location: http://www.search-this.com/”);
  
   * location()
   這不是一個 PHP 函式,會引致執行錯誤。
   * redirect()
   這不是一個 PHP 函式,會引致執行錯誤。
   4. 以下哪一個函式可以用來開啟檔案以便讀/寫?
   * fget()
   這不是一個 PHP 函式,會引致執行錯誤。
   * file_open()
   這不是一個 PHP 函式,會引致執行錯誤。
   * fopen()
   這是正確答案,fopen() 可以用來開啟檔案以便讀/寫,事實上這個函式還有很多選項,詳細資料請參閱 php.net。
   * open_file()
   這不是一個 PHP 函式,會引致執行錯誤。
   5. mysql_fetch_row() 和 mysql_fetch_array() 有什麼分別?
   mysql_fetch_row() 把數據庫的一列儲存在一個以零為基數的陣列中,第一欄在陣列的索引 0,第二欄在索引 1,如此類推。mysql_fetch_assoc() 把數據庫的一列儲存在一個關聯陣列中,陣列的索引就是欄位名稱,例如我的數據庫查詢送回「first_name」、「last_name」、 「email」三個欄位,陣列的索引便是「first_name」、「last_name」和「email」。mysql_fetch_array() 可以同時送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。
   6. 下面的代碼用來做什麼?請解釋。
  
   $date=’08/26/2003′;
   print ereg_replace(”([0-9]+)/([0-9]+)/([0-9]+)”,”\\2/\\1/\\3″,$date);
  
   這是把一個日期從 MM/DD/YYYY 的格式轉為 DD/MM/YYYY 格式。我的一個好朋友告訴我可以把這個正規表達式拆解為以下的語句,對於如此簡單的表示是來說其實無須拆解,純粹為了解說的方便:
  
   // 對應一個或更多 0-9,後面緊隨一個斜號
   $regExpression = “([0-9]+)/”;
   // 應一個或更多 0-9,後面緊隨另一個斜號
   $regExpression .= “([0-9]+)/”;
   // 再次對應一個或更多 0-9
   $regExpression .= “([0-9]+)”;
  
   至於 \\2/\\1/\\3 則是用來對應括號,第一個括號對的是月份,第二個括號對應的是日期,第三個括號對應的是年份


相关内容:

  1. Yahoo-PHP面试题1
  2. Yahoo-PHP面试题2
  3. Yahoo-PHP面试题2
  4. Yahoo-PHP面试题4
  5. 一套C#面试题
  6. 3月7号上午广州公考面试题