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 則是用來對應括號,第一個括號對的是月份,第二個括號對應的是日期,第三個括號對應的是年份
-
如何实现yii2 数据库读写分离配置
导语:开始使用数据库首先需要配置数据库连接组件,下面小编给大家提供了如何实现yii2数据库读写分离配置,大家可以参考阅读,更多详情请关注应届毕业生考试网。开始使用数据库首先需要配置数据库连接组件,通过添加db组件到应用配置实现("基础的"Web应用是config/),DSN(Da...
-
PHP面试之php自带的几个防止sql注入的函数
毕业季又到了,同学们是不是正为此烦恼呢?以下是本站小编精心为大家整理的PHP面试之php自带的几个防止sql注入的函数,希望对大家有所帮助!更多内容请关注应届毕业生网!SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易...
-
PHP数据类型之数组变量详解
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP数据类型之数组变量详解,希望对大家有所帮助。PHP中的数组实际上是一个有序图,是一种把values映射到keys的类型。一个数组实际上就...
-
PHP的漏洞-如何防止PHP漏洞
漏洞无非这么几类,XSS、sql注入、命令执行、上传漏洞、本地包含、远程包含、权限绕过、信息泄露、cookie伪造、CSRF(跨站请求)等。下面是小编为大家带来的关于PHP的漏洞的知识,欢迎阅读。+sql注入其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建...