首頁 後端開發 php教程 不錯的php面試題目及答案

不錯的php面試題目及答案

Jul 25, 2016 am 08:53 AM

  1. strrev($str)
  2. {
  3. $len=strlen($str);
  4. $newstr = '';
  5. for($str);
  6. $newstr = '';
  7. for( $i=$len;$i>=0;$i--)
  8. {
  9. $newstr .= $str{$i};
  10. }
  11. return $newstr;
}
複製程式碼

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

答:mb_substr()

16.使用php寫一段簡單查詢,查出所有姓名為「張三」的內容並列印出來
  1. 表名user
  2. name tel content date
  3. 張三13333663366 大專科2006-10-11張四021-55665566 中專畢業2006-10-15
答:select name,tel,content,date from user where name='張三'
複製程式碼

17.如何使用下面的類別,並解釋下面什麼意思?
  1. class test
  2. {
  3. get_test($num)
  4. {
  5. $num=md5(md5($num). "en");
  6. 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. 1)

  2. get_ext1($file_name)
  3. {
  4. return strrchr($filename, '.' );
  5. }
  6. 2)
  7. get_ext2($file_name)
  8. {
  9. return substr($file_name, strrpos($file_name, '.'));
  10. }
  11. 3)
  12. get_ext3($file_name)
  13. {
  14. return array_pop(explode('.', $file_name));
  15. }
  16. 4)

  17. get_ext4($file_name)
  18. {
  19. $p = pathinfo($file_name);
  20. return $p['extension'];
  21. }
  22. 5)
  23. get_ext5($file_name)
  24. {
  25. return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}
複製程式碼

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

這個函式函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是製作所圖檔。 gd 以外的另一個選擇是imagemagick,但這個函式庫並不內建於php 之中,必須由系統管理員安裝在服務器上答:其實session 還提供了一個函數session_set_cookie_params(); 來設定session 的生存期的,函數必須在session_start() 函數呼叫之前呼叫:
  1. <?php
  2. // 儲存一天
  3. $lifetime = 24 * 3600;
  4. session_set_cookie_params(conset_cookie_params()); session_start();
  5. $_session["admin"] = true;
?>
複製程式碼

20. 請寫一個函數,實作以下功能: 字串“open_door” 轉換成“opendoor”、”make_by_id” 轉換成”makebyid”。 30.請舉例說明在你的開發過程中用什麼方法來加快頁面的載入速度 a.產生靜態html b.生成xml c.可不用資料庫的盡量不用資料庫把變數參數存於文字. d.用zend加速 答:
  1. function test($str){
  2. $arr1=explode('_',$str );
  3. //$arr2=array_walk($arr1,ucwords( ));
  4. $str = implode(' ',$arr1);

  5. return ucwords($str );
  6. }
  7. $aa='open_door';
  8. echo test($aa);
  9. ?>
複製程式碼

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面試題與相關答案,希望對大家有幫助。



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
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的實用應用和潛在的觸摸

框架安全功能:防止漏洞。 框架安全功能:防止漏洞。 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�...

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

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

ReactPHP的非阻塞特性究竟是什麼?如何處理其阻塞I/O操作? ReactPHP的非阻塞特性究竟是什麼?如何處理其阻塞I/O操作? Apr 01, 2025 pm 03:09 PM

深入解讀ReactPHP的非阻塞特性ReactPHP的一段官方介紹引起了不少開發者的疑問:“ReactPHPisnon-blockingbydefault....

See all articles