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

不錯的php面試題目及答案

WBOY
WBOY原創
2016-07-25 08:53:461130瀏覽
  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