网站首页 语言 会计 互联网计算机 医学 学历 职场 文艺体育 范文
当前位置:学识谷 > 计算机 > php语言

Yahoo PHP工程师面试题

栏目: php语言 / 发布于: / 人气:2.5W

大公司资源多福利好,很多人对于大公司都趋之若鹜,以下是本站小编精心为大家整理的著名的Yahoo 面试PHP工程师的题目,希望对大家面试有所帮助!更多内容请关注应届毕业生网!

Yahoo PHP工程师面试题

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: ”);

* location()

這不是一個 PHP 函式,會引致執行錯誤。

* redirect()

這不是一個 PHP 函式,會引致執行錯誤。

4. 以下哪一個函式可以用來開啟檔案以便讀/寫?

* fget()

這不是一個 PHP 函式,會引致執行錯誤。

* file_open()

這不是一個 PHP 函式,會引致執行錯誤。

* fopen()

這是正確答案,fopen() 可以用來開啟檔案以便讀/寫,事實上這個函式還有很多選項,詳細資料請參閱 。

* 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 則是用來對應括號,第一個括號對的是月份,第二個括號對應的是日期,第三個括號對應的是年份