首頁 後端開發 php教程 33道php常見面試題目及答案

33道php常見面試題目及答案

Jul 25, 2016 am 08:45 AM

1.在PHP中,目前腳本的名稱(不包括路徑和查詢字串)記錄在預定義變數(1)中;而連結到目前頁面的URL記錄在預定義變數(2)中。

複製程式碼 程式碼如下:
答:echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];

2.執行程式段將輸出(3)。

複製程式碼 程式碼如下:
答:0

3.在HTTP 1.0中,狀態碼 401 的意思是(4);如果傳回「找不到檔案」的提示,則可用 header 函數,其語句為(5)。

複製程式碼 程式碼如下:
答:(4)未經授權 (5) header("HTTP/1.0 404 Not Found");

4.陣列函數 arsort 的作用是(6);語句 error_reporting(2047)的作用是(7)。

複製程式碼 程式碼如下:
答:(6)對陣列進行逆向排序並維持索引關係 (7)All errors and warnings

5.寫出一個正規表示式,過慮網頁上的所有JS/VBS腳本(即把標記及其內容都去掉):(9)。

複製程式碼 程式碼如下:
答:/].*?>.*?>/si

6.以Apache模組的方式安裝PHP,在檔案http.conf中首先要用語句(10)動態裝載PHP模組,

然後再用語句(11)讓Apache把所有副檔名為php的檔案都當作PHP腳本處理。

複製程式碼 程式碼如下:
答:(10) LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"
(11) AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

7.語句 include 和 require 都能把另外一個文件包含到當前文件中,它們的區別是(12);為了避免多次包含同一文件,可以用語句(13)來代替它們。

複製程式碼 程式碼如下:
答:(12) 發生異常時include產生警告require產生致命錯誤 (13) require_once()/include_once()

8.類別的屬性可以序列化後保存到 session 中,以便以後可以恢復整個類,這要用到的函數是(14)。

複製程式碼 程式碼如下:
答:serialize() /unserialize()

9.一個函數的參數不能是變數的引用,除非在php.ini中把(15)設為on.

複製程式碼 程式碼如下:
答:allow_call_time_pass_reference

10.SQL 中LEFT JOIN的意思是(16)。

如果 tbl_user記錄了學生的姓名(name)和學號(ID),

tbl_score記錄了學生(有的學生考試以後被開除了,沒有其記錄)的學號(ID)和考試成績(score)以及考試科目(subject),

若要列印出各學生姓名及對應的各科總成績,則可以用SQL語句(17)。

複製程式碼 程式碼如下:
答:(16) 自然左外連接
(17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID group by tbl_user.ID

11..在PHP中,heredoc是一種特殊的字串,它的結束標誌必須(18)。

複製程式碼 程式碼如下:
答:結束標識符所在的行不能包含任何其它字元除";"

12.用PHP印出前一天的時間格式是2006-5-10 22:21:21

複製程式碼 程式碼如下:
答:echo date('Y-m-d H:i:s', strtotime('-1 day'));

13.echo(),print(),print_r()的差別

複製程式碼 程式碼如下:
答:echo是語言結構,無回傳值;print功能和echo基本上相同,不同的是print是函數,有回傳值;print_r是遞歸列印,用來輸出陣列物件

14.如何實現字串翻轉?

複製程式碼 程式碼如下:
答:.用strrev函數唄,不准用PHP內建的就自己寫:
strrev($str)
{
$len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
}

15.實作中文字串截取無亂碼的方法。

複製程式碼 程式碼如下:
答:mb_substr()

16.使用php寫一段簡單查詢,查出所有姓名為「張三」的內容並列印出來

表名User

Name Tel Content Date

張三 13333663366 大專畢業 2006-10-11

張三 13612312331 本科畢業 2006-10-15

張四 021-55665566 中專畢業 2006-10-15

複製程式碼 程式碼如下:
答:SELECT Name,Tel,Content,Date FROM User WHERE Name='張三'

17.如何使用下面的類別,並解釋下面什麼意思?

class test
{
Get_test($num)
{
$num=md5(md5($num)."En");
return $num;
}
}

答:用法:

複製程式碼 程式碼如下:
$get_test = new test();
$result = $get_test->Get_test(2);

將$num變數進行兩次md5後回傳,第2次的md5中的參數,在第一次md5($num)後多加了En

18.使用五種以上方式取得一個檔案的副檔名

要求:dir/upload.image.jpg,找出 .jpg 或 jpg ,

複製程式碼 程式碼如下:
答:使用五種以上方式取得一個檔案的副檔名
1)
get_ext1($file_name)
{
return strrchr($file_name, '.');
}
2)
get_ext2($file_name)
{
return substr($file_name, strrpos($file_name, '.'));
}
3)
get_ext3($file_name)
{
return array_pop(explode('.', $file_name));
}
4)
get_ext4($file_name)
{
$p = pathinfo($file_name);
return $p['extension'];
}
5)
get_ext5($file_name)
{
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}

19.如何修改SESSION的生存時間

這個函式函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是製作所圖檔。 GD 以外的另一個選擇是ImageMagick,但這個函式函式庫並不內建在PHP 之中,必須由系統管理員安裝在伺服器上答:其實Session 還提供了一個函數session_set_cookie_params(); 來設定Session 的生存期的,函數必須在session_start() 函數呼叫之前呼叫:

<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"] = true;
?>

20. 請寫一個函數,實現以下函數: 字串「open_door」 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”。

複製程式碼 程式碼如下:
答:
Function test($str){
$arr1=explode('_',$str);
//$arr2=array_walk($arr1,ucwords( ));
$str = implode(' ',$arr1);
return ucwords($str);
}
$aa='open_door';
echo test($aa);
?>

21. 如何用php的環境變數得到一個網頁位址的內容? ip位址又要怎麼得到?

複製程式碼 程式碼如下:
答:$_SERVSR[‘REQUEST_URI']
$_SERVER[‘REMOTE_ADDR']

22.求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數

複製程式碼 程式碼如下:
答:(strtotime(‘2007-3-6')-strtotime(‘2007-2-5'))/3600*24

23.表中有A B C三列,用SQL語句實現:當A列大於B列時選擇A列否則選擇B列,當B列大於C列時選擇B列否則選擇C列。

複製程式碼 程式碼如下:
答:select case when A>B then A else B end,
case when B>C then B else C end
From test

24.請簡述專案中最佳化sql語句執行效率的方法,從哪些面向,sql語句效能如何分析?

複製程式碼 程式碼如下:
答:(1)選擇最有效率的表名順序
(2)WHERE子句中的連接順序
(3)SELECT子句中避免使用‘*'
(4)用Where子句取代HAVING子句
(5)透過內部函數提高SQL效率
(6)避免在索引列上使用計算。
(7)提高GROUP BY 語句的效率, 可以透過將不需要的記錄在GROUP BY 之前過濾掉。

25.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() 的值。

26.下面的程式碼用來做什麼?請解釋。

$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 則是用來對應括號,第一個括號對的是月份,

27.GD 函式庫用來做什麼?

複製程式碼 程式碼如下:
答:這個函式函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是製作所圖檔。 GD 以外的另一個選項是 ImageMagick,但這個函式庫並非內建於 PHP 之中,必須由系統管理員安裝在伺服器上

28.請舉例說明在你的開發過程中用什麼方法來加快頁面的載入速度

複製程式碼 程式碼如下:
答:要用到伺服器資源時才打開,及時關閉伺服器資源,資料庫新增索引,頁面可產生靜態,圖片等大檔案單獨伺服器。使用程式碼最佳化工具啦

29.防止SQL注射漏洞一般用__addslashes___函數。

30.PHP中傳值和傳引用、傳送位址的差別是什麼?

複製程式碼 程式碼如下:
答:傳值是把實參的值賦值給行參 那麼對行參的修改,不會影響實參的值
傳送地址 是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int 那麼傳地址以後,實參和行參都指向同一個物件

31.如何透過javascript判斷一個視窗是否已經被封鎖

複製程式碼 程式碼如下:
答:取得open()的回傳值,如果是null,就是屏蔽了

33.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題

複製程式碼 程式碼如下:
答:首先,確認伺服器硬體是否足夠支援目前的流量
其次,優化資料庫存取。
第三,禁止外部的盜鏈。
第四,控制大檔案的下載。
第五,使用不同主機分流主要流量
第六,使用流量分析統計軟體

以上所述就是本文的全部內容了,希望能夠對大家學習php有所幫助。

面試題, php


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

解釋PHP中晚期靜態結合的概念。 解釋PHP中晚期靜態結合的概念。 Mar 21, 2025 pm 01:33 PM

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

框架安全功能:防止漏洞。 框架安全功能:防止漏洞。 Mar 28, 2025 pm 05:11 PM

文章討論了框架中的基本安全功能,以防止漏洞,包括輸入驗證,身份驗證和常規更新。

自定義/擴展框架:如何添加自定義功能。 自定義/擴展框架:如何添加自定義功能。 Mar 28, 2025 pm 05:12 PM

本文討論了將自定義功能添加到框架上,專注於理解體系結構,識別擴展點以及集成和調試的最佳實踐。

如何用PHP的cURL庫發送包含JSON數據的POST請求? 如何用PHP的cURL庫發送包含JSON數據的POST請求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

如何在系統重啟後自動設置unixsocket的權限? 如何在系統重啟後自動設置unixsocket的權限? Mar 31, 2025 pm 11:54 PM

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

See all articles