久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>php遇到的面試題(100個常見的PHP)

php遇到的面試題(100個常見的PHP)

發布時間:2024-01-19閱讀(23)

導讀PHP是一種基于腳本的web語言,開發者可以動態的創建網頁,今天小編就來說說關于php遇到的面試題?下面更多詳細答案一起來看看吧!php遇到的面試題1)PH....

PHP 是一種基于腳本的 web 語言,開發者可以動態的創建網頁,今天小編就來說說關于php遇到的面試題?下面更多詳細答案一起來看看吧!

php遇到的面試題(100個常見的PHP)

php遇到的面試題

1) PHP 是什么?

PHP 是一種基于腳本的 web 語言,開發者可以動態的創建網頁。

2) PHP 的全稱?

Hypertext Preprocessor(超文本預處理器)。

3) PHP 與哪些編程語言相似?

PHP 語法類似于 Perl 和 C。


150粉絲福利安排PHP進階架構資料,每日只限前十名
5) 實際使用的 PHP 是哪個版本?

推薦使用版本 7。

6) 如何從命令行執行 PHP 腳本?

在命令行界面(CLI),指定要執行的腳本的文件名,如下所示:

php script.php

7) 如何從命令行界面運行交互式 PHP Shell?

將 PHP CLI 程序與 - a 選項一起使用,如下所示:

php -a

8) 正確開始和結束 PHP 代碼塊的最常見的兩種方式是什么?

開始和結束 PHP 腳本的兩種最常見的方式是:

<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>


大廠必備面試題面試10家公司,收獲9個offer,2020年PHP 面試問題2020最新大廠PHP面試題(附答案)php面試題之PHP核心技術
9) 如何直接將輸出顯示給瀏覽器?

將輸出直接顯示給瀏覽器,我們必須使用特殊標記 <?=and?>。

11) PHP 是否支持多重繼承?

PHP 只支持單繼承。PHP 的類使用關鍵字 extends 繼承另一個類

12) 使用 final 修飾的類和方法代表什么意思?

final 是在 PHP5 版本引入的,它修飾的類不允許被繼承,它修飾的方法不允許被重寫。

13) PHP 中如何比較兩個對象?

在 PHP 中,我們可以使用運算符 == 來比較兩個對象是否為同一個類的實例,并且擁有相同的屬性和屬性值。

還可以是使用運算符 === 來比較兩個對象是否引用了同一類的同一實例。

14) PHP 和 HTML 是如何交互的?

可以通過 PHP 腳本生成 HTML,還可以將信息從 HTML 傳遞到 PHP。

15) 通過表單或 URL 傳遞值時需要哪種類型的操作?

通過表單或 URL 傳遞值,則需要使用 htmlspecialchars() 和 urlencode() 對它們進行編碼和解碼。

16) PHP 和 Javascript 是如何交互的?

PHP 和 Javascript 無法直接進行交互,因為 PHP 是一種服務器端語言,而 Javascript 是一種瀏覽器語言。但是,我們可以交換變量,因為 PHP 可以生成將由瀏覽器執行的 Javascript 代碼,并且可以通過 URL 將特定的變量傳遞回 PHP。

17) PHP 處理圖片需要添加什么擴展?

需要 GD 庫來執行處理圖片功能。

18) 函數 imagetypes() 的功能?

imagetypes() 給出當前版本的 GD-PHP 支持的圖像格式和類型。

19) 獲取圖片屬性(size, width, 和 height)的函數是什么?

獲取圖片大小 size:getimagesize ();獲取圖片寬度 width:imagesx ();獲取圖片高度 height:imagesy ()。

20) include() 和 require() 在執行失敗的情況下有什么不同?

include() 將會產生一個警告,不影響后續程序的執行。require() 將會產生一個致命錯誤,后續程序停止執行。

21) require () 和 require_once () 之間的主要區別是?

require () 和 require_once () 執行同樣的任務,除了第二個函數在執行前檢查 PHP 腳本是否已經包含。

(與 include_once () 和 include () 相同)

22) 如何使用 PHP 腳本顯示文本?

可以使用以下兩種方法:

<!--?php echo "Method 1"; print "Method 2"; ?-->

23) 如何使用 PHP 顯示變量信息并使人類可讀?

為了能夠顯示人類可讀的結果,我們使用了 print_r () 。

24) 如何為 PHP 腳本設置無限執行時間?

在腳本開始處添加 set_time_limit (0) 設置為無限執行時間,以避免 PHP 錯誤 “超過最大執行時間”。也可以在 php.ini 文件中指定它。

25) PHP 錯誤 ‘Parse error in PHP - unexpected T_variable at line x’ 意思是?

這是一個 PHP 語法錯誤,表示 x 行的錯誤會停止解析和執行程序。

26) 如何將數據導出到 Excel 文件中?

最常見和常用的方法是將數據轉換為 Excel 支持的格式。例如,可以編寫 .csv 文件,例如選擇逗號作為字段之間的分隔符,然后使用 Excel 打開文件。

27) file_get_contents () 函數的作用是?

file_get_contents () 可讀取文件并將其存儲到字符串變量中。

28) 如何使用 PHP 腳本 連接 MySQL 數據庫?

為了連接到 MySQL 數據庫,必須使用 mysql_connect () 函數:

<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->

29) mysql_pconnect () 函數的用途為?

mysql_pconnect () 函數確保與數據庫的持久連接,這意味著 PHP 腳本結束時連接不會關閉。

PHP7.0 及以上版本已不支持該函數。

30) 如何在 PHP 中處理 MySQL 的結果集?

可以使用 mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object or mysqli_fetch_row 函數處理。

31) 如何知曉結果集返回的行數?

mysqli_num_rows () 函數返回了結果集的行數。

32) 哪個函數為我們提供了查詢所影響的條數?

mysqli_affected_rows () 返回受 SQL 查詢影響的條目數。

33) mysqli_fetch_object () 和 mysqli_fetch_array () 函數的區別在于?

mysqli_fetch_object () 函數收集第一個單個匹配記錄,而 mysqli_fetch_array () 從表中收集所有匹配記錄。

34) 如何使用 GET 方法訪問通過 URL 發送的數據?

要訪問通過 GET 方法發送的數據,我們使用 $ _GET 數組,如下所示:

www.url.com?var=value

$variable = $_GET["var"]; 現在將包含 value

35) 如何使用 POST 方法訪問通過 URL 發送的數據?

要訪問以這種方式發送的數據,請使用 $ _POST 數組。

想象一下,當用戶單擊「提交到帖子」表單時,表單上有一個名為「var」的表單字段,然后您可以像這樣訪問值:

$_POST["var"];

36) 如何檢查給定變量的值為數字?

可以使用專用函數 is_numeric () 來檢查它是否為數字。

37) 如何檢查給定變量的值為字母和數字字符?

可以使用專用函數 ctype_alnum 來檢查它是否為字母數字字符。

38) 如何檢查給定變量是否為空?

如果我們要檢查變量是否具有值,可以使用 empty () 函數。

39) unlink () 函數的作用是?

unlink () 函數專用于文件系統處理。它用于刪除文件。

40) unset () 函數的作用是?

unset () 函數專用于變量管理。它將使變量變為未定義。

41) 在將數據存儲到數據庫之前如何轉義數據?

addslashes 函數使我們能夠在將數據存儲到數據庫之前對其進行轉義。

42) 如何從字符串中刪除轉義字符?

使用 stripslash 函數,我們可以刪除字符串中的轉義字符。

43) 我們如何自動轉義傳入的數據?

我們必須在 PHP 的配置文件中啟用魔術引號項。

44) get_magic_quotes_gpc () 函數的作用是?

函數 get_magic_quotes_gpc () 告訴我們魔術引號是否已打開。

45) 是否可以從數據中刪除 HTML 標簽?

strip_tags () 函數使我們能夠從 HTML 標簽中清除字符串。

46) 函數中的靜態變量有什么用?

靜態變量僅在函數中首次定義,并且其值可以在函數調用期間進行如下修改:

<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable ; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->

47) 如何定義 PHP 腳本函數中可訪問的變量??

使用 global 關鍵字。

48) 如何從函數中返回值?

使用指令 ‘return $value;’ 。

49) 用于哈希密碼最便捷的哈希方法是什么?

最好使用本身支持幾種哈希算法的 crypt () 或支持比 crypt () 更多變體的函數 hash (),而不是使用常見的哈希算法,如 MD5、SHA1 或 sha256,因為它們被認為是存在安全問題的。因此,使用這些算法的哈希密碼可能會產生漏洞。

50) 哪種加密擴展可以生成和驗證數字簽名?

PHP-OpenSSL 擴展提供了幾種加密操作,包括數字簽名的生成和驗證。

51) 如何在 PHP 腳本中定義常量?

define () 指令允許我們按如下方式定義常量:

define ("ACONSTANT", 123);

52) 如何通過引用傳遞變量?

為了能夠通過引用傳遞變量,我們在變量前面使用了 & 符號,如下所示 $var1=&$var2

53) 整數 12 和字符串 “13” 的比較在 PHP 中是否有效?

“13” 和 12 可以在 PHP 中進行比較,因為它將所有內容都強制轉換為整數類型。

54) 如何在 PHP 中強制轉換類型?

輸出類型的名稱必須在要強制轉換的變量前的括號中指定,如下所示:

(int), (integer) - 強制轉換為整型

(bool), (boolean) - 強制轉換為布爾值

(float), (double), (real) - 強制轉換為浮點型

(string) - 強制轉換為字符串

(array) - 強制轉換為數組

(object) - 強制轉換為對象

55) 條件語句何時以 endif 結尾?

當最初的 if 后面跟著:然后是沒有大括號的代碼塊時。

56) PHP 中如何使用三元條件運算符?

它由三個表達式組成:一個條件和兩個操作數,它們描述在指定條件為 true 或 false 時應執行的指令,如下所示:

Expression_1?Expression_2 : Expression_3;

57) 函數 func_num_args () 的作用是什么?

函數 func_num_args () 用于提供傳遞給函數的參數數量

58) 如果變量 $ var1 設置為 10,而 $ var2 設置為字符 var1,那么 $$ var2 的值是多少?

$$var2 包含值 10。

59) 通過::訪問類意味著什么?

:: 用于訪問不需要對象初始化的靜態方法。

60) 在 PHP 中,對象是按值傳遞還是按引用傳遞?

對象按值傳遞。

** 61)是否在類構造函數中隱式調用了 Parent 構造函數?**

不,必須顯式調用父構造函數,如下所示:

parent::constructor($value)

** 62)__sleep 和__wakeup 有什么區別?**

__sleep 返回所有需要保存的變量的數組,而__wakeup 檢索它們。

** 63)更快些嗎?**

1 - 結合以下兩個變量:

$ variable1 =你好;

$ variable2 =世界;

$ variable3 = $ variable1.$ variable2;

要么

2- $variable3 = "$variable1$variable2";

$variable3 將包含 “你好 世界”。第一個代碼比第二個代碼快,特別是對于大型數據集。

** 64)會話的定義是什么?**

會話是一個邏輯對象,使我們能夠跨多個 PHP 頁面保留臨時數據。

** 65)如何在 PHP 中啟動會話?**

使用 session_start() 函數可以激活會話。

** 66)如何傳播會話 ID?**

您可以通過 Cookie 或 URL 參數傳播會話 ID。

** 67)永久性 Cookie 的含義是什么?**

永久性 cookie 永久存儲在瀏覽器計算機上的 cookie 文件中。默認情況下,cookies 是臨時的,如果我們關閉瀏覽器,cookies 將被刪除。

** 68)會議何時結束?**

會話在 PHP 腳本完成執行時自動結束,但可以使用 session_write_close() 手動結束。

** 69)session_unregister() 和 session_unset() 有什么區別?**

session_unregister() 函數從當前會話中注銷全局變量,而 session_unset() 函數則釋放所有會話變量。

** 70)$GLOBALS 是什么意思?**

$GLOBALS 是一個關聯數組,包括對當前在腳本的全局范圍內定義的所有變量的引用。

71) $ _SERVER 是什么意思?

$_SERVER 是一個包含 Web 服務器創建信息的數組,包括了路徑,頭部和腳本位置等。

72)$ _FILES 是什么意思?

$_FILES 是一個包含通過 HTTP POST 方式上傳到當前腳本的項目的數組。

73)$ _FILES [userfile] [name ] 和 $ _FILES [userfile] [tmp_name] 有什么區別

$ _FILES [userfile] [name] 表示客戶端文件的原始名稱,

$_FILES[userfile][tmp_name] 表示服務器上存儲的文件的臨時文件名。

*74) 上傳文件出問題時,如何獲取錯誤信息 *

$_FILES[userfile][error] 包括了與上傳文件有關的錯誤代碼。

75)如何更改要上傳的文件大小的最大值?

可通過更改 php.ini 中的 upload_max_filesize 來更改要上傳的文件的最大大小。

76)$ _ENV 是什么意思?

通過環境方式傳遞給當前腳本的變量的數組。

77)$ _COOKIE 是什么意思?

通過 HTTP Cookies 方式傳遞給當前腳本的變量的數組。

78)變量的作用域是什么意思?

變量的作用域定義了變量的環境上下文。在大多數情況下,PHP 變量只有一個變量域。這一作用域也涵蓋了 include 與 require 的文件。

79)’BITWISE AND’ 運算符和 ‘LOGICAL AND’ 運算符之間有什么區別?

$a and $b - 只有在 $a 和 $b 都為 true 的情況下才為 true

$a & $b - 把 $a 和 $b 中都為 1 的位設為 1

80)兩個主要的字符串運算符是什么?

. 運算符返回左右兩邊字符串的拼接結果。 .= 運算符將右邊的結果附加到左邊的參數上。

81) 數組運算符 ‘===’ 是什么意思?

$a === $b 如果 $a 和 $b 具有相同順序和相同類型的鍵 / 值對,則為 TRUE 。

82) $a != $b 和 $a !== $b 有什么區別?

!= 表示不等于 (如果 $a 不等于 $b 則為 TRUE) ; !== 表示 不全等 ( 如果 $a 不完全等于 $b 則為 TRUE).

83) 如何確定 PHP 變量是否是某個類的實例化對象?

我們用 instanceof 能夠驗證 PHP 變量是否是某個類的實例話對象。

84) goto 語句有什么用?

goto 語句可以放置在 PHP 程序中以啟用跳轉。 目標由后跟冒號的標簽指向,指令被指定為 goto 語句,后跟所需的目標標簽。

85) Exception::getMessage 和 Exception:: getLine 有什么區別?

Exception::getMessage 讓我們得到異常消息, Exception::getLine 讓我們得到發生異常的行。

86) 表達式 Exception::__toString 是什么意思?

Exception::__toString 給出異常的字符串表示形式。

87) 如何解析配置文件?

函數 parse_ini_file () 使我們能夠加載在文件名中指定的 ini 文件,并以關聯數組的形式返回其中的設置。

88) 我們如何確定變量是否已經設置?

布爾函數 isset 確定變量是否已經設置并且該變量不是 NULL。

89) 函數 strstr () 和 stristr () 有什么區別?

字符串函數 strstr (全部字符串,要查找的字符串) 返回從首次出現到全部字符串結束的部分字段串。 這個函數是區分大小寫的。 stristr () 除了不區分大小寫之外,與 strstr () 完全相同。

90) for 和 foreach 有什么區別?

for 表示如下:

for (expr1; expr2; expr3)

expr1 在開頭執行一次。 在每次迭代中,expr2 都會被評估。 如果評估結果是 TRUE, 循環繼續, 并執行 for 中的語句。 如果評估結果是 FALSE, 循環結束。expr3 在每次迭代結束時進行測試。

但是,foreach 提供了一種遍歷數組的簡便方法,并且僅與數組和對象一起使用。

91) 是否可以提交帶有專用按鈕的表單?

可以使用 document.form.submit () 函數提交表單。 例如:

92) ereg_replace () 和 eregi_replace () 有什么區別?

函數 eregi_replace () 與 ereg_replace () 相同,只是在匹配字母字符時忽略大小寫區別。

93) 是否可以保護查詢字符串中的特殊字符?

是的, 我們使用 urlencode () 函數 來保護特殊字符。

94) PHP 中可能出現的三類錯誤是什么?

三類基本錯誤類別是: 通知 (非關鍵錯誤)、警告 (嚴重錯誤) 和 致命錯誤 (嚴重錯誤)。

95) 字符串 .34 和 .34 有什么區別

.34 是八進制 34 , .34 是十六進制 34.

96) 我們如何通過頁面之間的導航傳遞變量?

可以使用會話,cookie 或隱藏的表單字段在 PHP 頁面之間傳遞變量。

97) 是否可以延長 PHP 腳本的執行時間

使用 set_time_limit (int seconds) 可以延長 PHP 腳本的執行時間。 默認限制為 30 秒。

98) 是否可以銷毀 Cookie ?

是的,可以通過設置 cookie 的過期時間來實現。

99) PHP 中的默認會話時間是什么?

php 中的默認會話時間是直到瀏覽器關閉為止。

100) 是否可以在 PHP 中 使用 COM 組件?

是的, 可以在框架中提供的 PHP 腳本中集成(分布式)組件對象模型組件((D)COM)。

101) 解釋是否可以在多個 PHP 項目之間共享單個 memcache 實例?

是的,可以在多個項目之間共享一個 Memcache 實例。 Memcache 是??一個內存存儲空間,您可以在一個或多個服務器上運行 memcache。您還可以將客戶端配置為與特定實例集進行對話。因此,您可以在同一主機上運行兩個不同的 Memcache 進程,但它們是完全獨立的。除非您已經對數據進行了分區,否則有必要知道從哪個實例獲取數據或將數據放入哪個實例。

102) 解釋你對 PHP 進行更改時如何更新 Memcached?

當 PHP 更改時,您可以通過以下方式更新 Memcached

主動清除緩存: 進行插入或更新時清除緩存

重置緩存: 與第一種方法類似,但不僅僅是刪除鍵并等待下一個數據刷新緩存的請求,而是在插入或更新后重置值。

喜歡我的文章就關注我吧,持續更新中.........

TAGS標簽:  遇到  試題  100個  常見  php遇到的面試題(

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖