首頁 後端開發 php教程 php面試題分享(正在找工作的朋友有福了)

php面試題分享(正在找工作的朋友有福了)

Jul 25, 2016 am 09:04 AM

  1. $tmp = 0 == "a"? 1: 2;
  2. echo $tmp;
  3. ?>
複製程式碼

結果1 int和string型別強制轉換造成的,0==="a"

0 == 0 一定是true啊 PHP是弱型別。 。 $tmp = 0 === "a"? 1: 2; echo $tmp; 這樣就是2

4. 已知一個字串如下: $str = "1109063 milo 1"; 用一行程式碼將該字串裡面的1109063賦值給$uid, milo賦值給$user, 1賦值給$type 空格如下 list($uid, $user, $type) = explode(" ", $str); t如下 list($uid, $user, $type) = explode("t", $str); list($uid, $user, $type) = sscanf($str, "%d %s %d"); $n = sscanf($auth, "%dt%s %s", $id, $first, $last);

5. 分別列出以下類型的有符號和無符號範圍 TINYINT SMALLINT MEDIUMINT INT TINYINT-2^7 - 2^7-10 ~ 2^8-1 SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1 MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1 INT-2^31 - 2^31-1 0 ~ 2^32-1

6. 將下面的陣列用一行拼成一個字串i am milo! day day up!

  1. $arr = array(
  2. 'I', 'AM', 'MILO!', 'DAY', ' DAY', 'UP!'
  3. );
  4. ?>
  5. $str = strtolower(implode(" ",$arr));
複製程式碼

7. 呼叫下列函數取得函數並取得count的值

  1. function get_list($cnd = array(), &$count = false)
  2. {
  3. // 偽程式碼處理$cnd 並賦值datas
  4. $datas = 'i am call back';
  5. $count && $count = rand(1, 10000);
  6. return $datas;
  7. }
  8. ?>
  9. $count=1;
  10. $data = get_list($cnd,&$count);
  11. echo $count;
複製程式碼

8. 幾種方式去取代session機制, 簡單描述各自的優劣 mysql、memcache、cookie維持一個唯一狀態識別碼

9. 下列HTTP狀態碼出現的可能原因, 如何處理 200, 301, 404, 502, 503 200 請求已成功,請求所希望的回應頭或資料體將隨此回應傳回。 301 被要求的資源已永久移動到新位置,並且將來任何對此資源的引用都應該使用本回應傳回的若干個 URI 之一。如果可能,擁有連結編輯功能的用戶端應自動把請求的位址修改為從伺服器回饋回來的位址。除非額外指定,否則這個回應也是可緩存的。   新的永久性的 URI 應在回應的 Location 域中傳回。除非這是一個 HEAD 請求,否則回應的實體中應包含指向新的 URI 的超連結及簡短說明。   如果這不是一個 GET 或 HEAD 請求,因此瀏覽器禁止自動進行重定向,除非得到使用者的確認,因為請求的條件可能因此發生變化。

注意:對於某些使用 HTTP/1.0 協定的瀏覽器,當它們發送的 POST 請求得到了一個301回應的話,接下來的重定向請求將會變成 GET 方式。

404   請求失敗,請求所希望得到的資源未被在伺服器上發現。沒有資訊能夠告訴使用者這個狀況到底是暫時的還是永久的。假如伺服器知道情況的話,應使用410狀態碼來告知舊資源因為某些內部的設定機制問題,已經永久的不可用,而且沒有任何可以跳轉的位址。 404這個狀態碼被廣泛應用於當伺服器不想揭示到底為何請求被拒絕或沒有其他適合的回應可用的情況下。 502   作為網關或代理工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的回應。 503   由於臨時的伺服器維護或過載,伺服器目前無法處理請求。這個狀況是臨時的,並且將在一段時間以後恢復。如果能夠預期延遲時間,那麼回應中可以包含一個 Retry-After 頭用以標示這個延遲時間。如果沒有給予這個 Retry-After 訊息,那麼客戶端應以處理500回應的方式處理它。   注意:503狀態碼的存在並不意味著伺服器在過載的時候必須使用它。某些伺服器只不過是希望拒絕客戶端的連線。

200 OK 一切正常,對GET和POST請求的應答文件跟在後面。 301 Moved Permanently 客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL 404 Not Found 無法找到指定位置的資源。這也是一個常用的應答。 502 Bad Gateway 伺服器作為網關或代理時,為了完成請求訪問下一個伺服器,但該伺服器傳回了非法的應答。 503 Service Unavailable 伺服器因維護或負載過重而未能應答。例如,Servlet可能在資料庫連線池已滿的情況下傳回503。伺服器回傳503時可以提供一個Retry-After頭。

10. 有以下資料庫, 用原生態mysql擴展去連接並查詢user表的前十行 host: 192.168.0.254 port: 3306 user: one pass: piece database: db_user table: user

  1. $link = mysql_connect("192.168.0.254:3306","one","piece") 或 die('Could not connect: ' ());
  2. mysql_select_db('db_user',$link);
  3. $query = mysql_query("select * from user limit 10");
  4. while($rs = mysql_fetch_array($query,MY_array($query,MY_array($query) )
  5. {}
複製程式碼

11. 用autoload($class) 實作Lib目錄下的類別的自動載入並且可以相容子目錄

  1. $request->action = lcfirst(implode(array_map(

  2. 'ucfirst',
  3. explo( ', strtolower($request->action))
  4. )));
  5. ----------------------------- -------------------
  6. function __autoload($class)
  7. {
  8. $cls = strtolower(str_replace("_","/", $class));
  9. if(file_exsits(LIB.$cls.'.php'))
  10. {
  11. include_once(LIB.$cls.'.php ');
  12. }
  13. else
  14. {
  15. die("not found {$class} class");
  16. }
  17. }
  18. defined("LIB",'/ data/wwwroot/www.xx.com/lib/');
  19. $author = new Lib_Author();
  20. --------------------- --------------------------------------
  21. function __authload($class)
  22. {
  23. $cls = explode("_",$class);
  24. if(@is_dir($cls[1]))
  25. {
  26. if(@is_file($cls[2]) )
  27. {
  28. include_once("CON_PATH".$cls[1].'/'.$cls[2].".php");
  29. }
  30. else
  31. {
  32. dir('error');
  33. }
  34. }
  35. else if(@is_file($cls[1].".php"))
  36. {
  37. include_once("CON_PATH". $cls[1].".php");
  38. }
  39. else
  40. {
  41. dir('error');
  42. }
  43. }
  44. ----- ----------------------------------
  45. function __autoload($class)
  46. {
  47. $cls = explode("_",$class);
  48. $file = get_file($cls);
  49. if($file=='error')
  50. {
  51. die('error' );
  52. }
  53. include_once($file);
  54. }
  55. function get_file($dir)
  56. {
  57. if(is_array($dir))
  58. {
  59. if(is_array($dir))
  60. {
  61. {
  62. foreach($dir as $k=>$v)
  63. {
  64. $tmpdir .= $v.'/';
  65. if(is_dir('CON_PATH'.$tmpdir))
  66. {
  67. continue();
  68. }
  69. else if(is_file('CON_PATH'.$tmpdir.".php"))
  70. {
  71. return 'CON_PATH'.$tmpdir.".php" ;
  72. }
  73. else
  74. {
  75. return 'error';
  76. }
  77. }
  78. return 'error';
  79. }
  80. return 'error';
  81. }
  82. defined("CON_PATH","/data/wwwroot/www.xx.com/app/cntroller/");

  83. $sb = new controller_sb();
  84. ------------------------------------------------
  85. function __autoload_my_classes($classname)
  86. {
  87. # ... your logic to include classes here
  88. }
spl_autoload_register('__autoload_my_classes');
------------------- ----------------------------------------

複製程式碼

12. 用set_error_handle 去捕獲錯誤並輸出, 等級自己定
  1. set_error_handle(callback,level)

  2. function callback(int $errno , string $errstrerr [,string $file. int $errline [, array $errcontext ]]] ){
  3. }
  4. function dealErrorHandler($errno,$errstr,$errfile,$errline)

  5. {
  6. switch ($errno){
  7. case E_USER_ERROR:
  8. echo "error [$errno] $errstr fatal error on line $errline in file $errfile";
  9. cho;
  10. breakcase E_USER_WARNING:
  11. cho;
  12. case E_USER_WARNING:break;
  13. case E_USER_NOTICE:
  14. echo "my notice[$errno] $errstr";
  15. ;
  16. breakdefault:
  17. echo "unkonwn error type :[$errno] $errstr";
  18. break;
  19. }
  20. }
set_erro_handler(dealErrorHandler);
trigger_error>trigger" , E_USER_NOTICE);trigger_error("warning", E_USER_WARNING);trigger_error("error", E_USER_ERROR);



13. 簡述兩種屏蔽php程式的notice警告的方法 初始化變量,檔案開始設定錯誤等級或修改php.ini 設定error_reporting set_error_handler 和 @抑制錯誤 1.在程式中加入:error_reporting (E_ALL & ~E_NOTICE); 2.或修改php.ini中的:error_reporting = E_ALL 改為:error_reporting = E_ALL & ~E_NOTICE 3.error_reporting(0);或修改php.inidisplay_errors=Off 1 2 3 4 下一頁 尾頁
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 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)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

您如何防止PHP中的SQL注入? (準備的陳述,PDO) 您如何防止PHP中的SQL注入? (準備的陳述,PDO) Apr 15, 2025 am 12:15 AM

在PHP中使用預處理語句和PDO可以有效防範SQL注入攻擊。 1)使用PDO連接數據庫並設置錯誤模式。 2)通過prepare方法創建預處理語句,使用佔位符和execute方法傳遞數據。 3)處理查詢結果並確保代碼的安全性和性能。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

See all articles