Top 100 câu hỏi và câu trả lời phỏng vấn PHP có đáp án (Phần 1)

Top 100 câu hỏi và câu trả lời phỏng vấn PHP có đáp án (Phần 1)

1) PHP là gì?

PHP là một ngôn ngữ web dựa trên các tập lệnh cho phép các nhà phát triển tự động tạo các trang web được tạo.

2) Tên viết tắt của PHP là gì?

PHP có nghĩa là PHP: Bộ xử lý siêu văn bản.

3) PHP giống ngôn ngữ lập trình nào?

Cú pháp PHP giống với Perl và C

4) PEAR có nghĩa là gì?

PEAR có nghĩa là “Kho lưu trữ ứng dụng và tiện ích mở rộng PHP”. Nó mở rộng PHP và cung cấp một mức độ lập trình cao hơn cho các nhà phát triển web.

5) Phiên bản PHP thực sự được sử dụng là gì?

Phiên bản 7.1 hoặc 7.2 là phiên bản được đề xuất của PHP.

6) Làm thế nào để bạn thực thi một tập lệnh PHP từ dòng lệnh?

Chỉ cần sử dụng giao diện dòng lệnh PHP (CLI) và chỉ định tên tệp của tập lệnh sẽ được thực thi như sau:

 Tập lệnh php.php

7) Làm thế nào để chạy shell PHP tương tác từ giao diện dòng lệnh?

Chỉ cần sử dụng chương trình CLI PHP với tùy chọn -a như sau:

 php -a

8) Cách chính xác và hai cách phổ biến nhất để bắt đầu và hoàn thành một khối mã PHP là gì?

 

Hai cách phổ biến nhất để bắt đầu và hoàn thành một tập lệnh PHP là:

 <? php [--- Mã PHP ----]?> và <?

[--- Mã PHP ---]?>

9) Làm thế nào chúng ta có thể hiển thị đầu ra trực tiếp đến trình duyệt?

Để có thể hiển thị đầu ra trực tiếp ra trình duyệt, chúng ta phải sử dụng các thẻ đặc biệt <? = Và?>.

10) Sự khác biệt chính giữa PHP 4 và PHP 5 là gì?

PHP 5 trình bày nhiều tính năng OOP (Lập trình hướng đối tượng) bổ sung.

11) Nhiều kế thừa có được hỗ trợ trong PHP không?

PHP chỉ hỗ trợ kế thừa duy nhất; điều đó có nghĩa là một lớp chỉ có thể được mở rộng từ một lớp duy nhất bằng cách sử dụng từ khóa ‘được mở rộng’.

12) Ý nghĩa của lớp cuối cùng và phương thức cuối cùng là gì?

‘Chung kết’ được giới thiệu trong PHP5. Lớp cuối cùng có nghĩa là lớp này không thể được mở rộng và một phương thức cuối cùng không thể bị ghi đè.

13) Việc so sánh các đối tượng được thực hiện trong PHP như thế nào?

Chúng tôi sử dụng toán tử ‘==’ để kiểm tra là hai đối tượng được điều khiển từ cùng một lớp và có cùng thuộc tính và giá trị bằng nhau. Chúng ta có thể kiểm tra xem hai đối tượng có tham chiếu đến cùng một thể hiện của cùng một lớp hay không bằng cách sử dụng toán tử nhận dạng ‘===’.

14) PHP và HTML có thể tương tác như thế nào?

Có thể tạo HTML thông qua các tập lệnh PHP và có thể chuyển các mẩu thông tin từ HTML sang PHP.

15) Loại hoạt động nào là cần thiết khi chuyển các giá trị thông qua một biểu mẫu hoặc một URL?

Nếu chúng ta muốn chuyển các giá trị thông qua một biểu mẫu hoặc một URL, thì chúng ta cần mã hóa và giải mã chúng bằng cách sử dụng htmlspecialchars () và urlencode ().

16) Làm thế nào PHP và Javascript có thể tương tác?

PHP và Javascript không thể tương tác trực tiếp vì PHP là ngôn ngữ phía máy chủ và Javascript là ngôn ngữ phía máy khách. Tuy nhiên, chúng ta có thể trao đổi các biến vì PHP có thể tạo mã Javascript để trình duyệt thực thi và có thể chuyển các biến cụ thể trở lại PHP thông qua URL.

17) Điều gì là cần thiết để có thể sử dụng chức năng hình ảnh?

Thư viện GD là cần thiết để thực hiện các chức năng hình ảnh.

18) Việc sử dụng hàm ‘fantetypes ()’ là gì?

fantetypes () cung cấp định dạng hình ảnh và các loại được hỗ trợ bởi phiên bản hiện tại của GD-PHP.

19) Các chức năng được sử dụng để có được các thuộc tính của hình ảnh (kích thước, chiều rộng và chiều cao) là gì?

Các hàm là getimagesize () cho kích thước, hình ảnhx () cho chiều rộng và hình ảnh () cho chiều cao.

20) Làm thế nào các lỗi trong thực thi được xử lý với các hàm bao gồm () và yêu cầu ()?

Nếu hàm yêu cầu () không thể truy cập tệp thì nó kết thúc bằng một lỗi nghiêm trọng. Tuy nhiên, hàm include () đưa ra cảnh báo và tập lệnh PHP tiếp tục thực thi.
 

21) Sự khác biệt chính giữa request () và allow_once () là gì?

Yêu cầu () và allow_once () thực hiện cùng một tác vụ ngoại trừ chức năng thứ hai kiểm tra xem tập lệnh PHP đã được bao gồm hay chưa trước khi thực hiện nó.

(tương tự cho include_once () và bao gồm ())

22) Làm cách nào để hiển thị văn bản với tập lệnh PHP?

Hai phương pháp có thể:

 

<! -? php echo "Phương pháp 1";

in "Phương pháp 2";

? ->

23) Làm thế nào chúng ta có thể hiển thị thông tin của một biến và có thể đọc được bởi một người có PHP?

Để có thể hiển thị kết quả có thể đọc được, chúng tôi sử dụng print_r ().

24) Làm thế nào có thể đặt thời gian thực hiện vô hạn cho tập lệnh PHP?

Set_time_limit (0) được thêm vào lúc bắt đầu tập lệnh sẽ vô hạn thời gian thực hiện để không bị lỗi PHP ‘vượt quá thời gian thực hiện tối đa.’ Cũng có thể chỉ định điều này trong tệp php.ini.

25) Lỗi PHP ‘Lỗi phân tích cú pháp trong PHP – T_variable không mong muốn ở dòng x’ nghĩa là gì?

Đây là lỗi cú pháp PHP biểu thị rằng lỗi ở dòng x dừng phân tích cú pháp và thực thi chương trình.

26) Chúng ta nên làm gì để có thể xuất dữ liệu vào tệp Excel?

Cách phổ biến nhất và được sử dụng là đưa dữ liệu sang định dạng được Excel hỗ trợ. Ví dụ: có thể viết tệp .csv, chọn ví dụ dấu phẩy làm dấu phân cách giữa các trường và sau đó mở tệp bằng Excel.

 

27) Hàm file_get_contents () hữu ích cho việc gì?

file_get_contents () cho phép đọc một tệp và lưu trữ nó trong một biến chuỗi.

28) Làm thế nào chúng ta có thể kết nối với cơ sở dữ liệu MySQL từ tập lệnh PHP?

Để có thể kết nối với cơ sở dữ liệu MySQL, chúng ta phải sử dụng hàm mysqli_connect () như sau:

 

<! -? php $ cơ sở dữ liệu = mysqli_connect ("HOST", "USER_NAME", "PASSWORD");

mysqli_select_db (cơ sở dữ liệu $, "DATABASE_NAME");

? ->

29) Hàm mysql_pconnect () hữu ích cho việc gì?

mysql_pconnect () đảm bảo kết nối liên tục đến cơ sở dữ liệu, điều đó có nghĩa là kết nối không đóng khi tập lệnh PHP kết thúc.

Chức năng này không được hỗ trợ trong PHP 7.0 trở lên

30) Tập kết quả của Mysql được xử lý trong PHP như thế nào?

Tập kết quả có thể được xử lý bằng mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object hoặc mysqli_fetch_row.

31) Làm thế nào có thể biết số lượng hàng được trả về trong tập kết quả?

Hàm mysqli_num_rows () trả về số lượng hàng trong tập kết quả.

32) Hàm nào cho chúng ta số lượng mục bị ảnh hưởng bởi một truy vấn?

mysqli_affected_rows () trả về số lượng mục bị ảnh hưởng bởi truy vấn SQL.

33) Sự khác biệt giữa mysqli_fetch_object () và mysqli_fetch_array () là gì?

Hàm mysqli_fetch_object () thu thập bản ghi khớp duy nhất đầu tiên trong đó mysqli_fetch_array () thu thập tất cả các bản ghi khớp từ bảng trong một mảng.

34) Làm thế nào chúng ta có thể truy cập dữ liệu được gửi qua URL bằng phương thức GET?

Để truy cập dữ liệu được gửi qua phương thức GET, chúng tôi sử dụng mảng $ _GET như thế này:

 

www.url.com?var=value

$ biến = $ _GET ["var"];

bây giờ sẽ chứa 'giá trị'

35) Làm thế nào chúng ta có thể truy cập dữ liệu được gửi qua URL bằng phương thức POST?

Để truy cập dữ liệu được gửi theo cách này, bạn sử dụng mảng $ _POST.

Hãy tưởng tượng bạn có một trường biểu mẫu có tên ‘var’ trên biểu mẫu khi người dùng nhấp vào gửi biểu mẫu bài đăng, sau đó bạn có thể truy cập vào giá trị như thế này:

 

$ _POST ["var"];

36) Làm thế nào chúng ta có thể kiểm tra giá trị của một biến đã cho là một số?

Có thể sử dụng hàm chuyên dụng, is_numeric () để kiểm tra xem đó có phải là số hay không.

37) Làm thế nào chúng ta có thể kiểm tra giá trị của một biến đã cho là chữ và số?

Có thể sử dụng hàm chuyên dụng, ctype_alnum để kiểm tra xem đó có phải là giá trị chữ và số hay không.

38) Làm cách nào để kiểm tra xem một biến đã cho có trống không?

Nếu chúng ta muốn kiểm tra xem một biến có giá trị hay không, có thể sử dụng hàm rỗng ().

39) Hàm unlink () có nghĩa là gì?

Hàm unlink () được dành riêng để xử lý hệ thống tệp. Nó chỉ đơn giản là xóa các tập tin được đưa ra như là mục.

40) Hàm unset () có nghĩa là gì?

Hàm unset () được dành riêng cho quản lý biến. Nó sẽ làm cho một biến không xác định.

41) Làm cách nào để thoát dữ liệu trước khi lưu trữ trong cơ sở dữ liệu?

Chức năng thêm vào cho phép chúng tôi thoát dữ liệu trước khi lưu trữ vào cơ sở dữ liệu.

42) Làm thế nào có thể loại bỏ các ký tự thoát khỏi một chuỗi?

Hàm thoát y cho phép chúng ta loại bỏ các ký tự thoát trước các dấu nháy đơn trong một chuỗi.

43) Làm thế nào chúng ta có thể tự động thoát dữ liệu đến?

Chúng ta phải kích hoạt mục trích dẫn Magic trong tệp cấu hình của PHP.

44) Hàm get_magic_quotes_gpc () có nghĩa là gì?

Hàm get_magic_quotes_gpc () cho chúng ta biết các trích dẫn ma thuật được bật hay không.

45) Có thể xóa các thẻ HTML khỏi dữ liệu không?

Hàm Strip_tags () cho phép chúng ta xóa một chuỗi từ các thẻ HTML.

46) biến tĩnh trong hàm hữu ích cho việc gì?

Một biến tĩnh được định nghĩa trong một hàm chỉ lần đầu tiên và giá trị của nó có thể được sửa đổi trong các lệnh gọi hàm như sau:

 

<! -? Hàm chức năng php testFunction () {static $ testVariable = 1;

echo $ testVariable;

$ testVariable ++;

} Kiểm tra chức năng ();

// 1 testFunction ();

// 2 testFunction ();

// 3? ->

47) Làm thế nào chúng ta có thể định nghĩa một biến có thể truy cập trong các chức năng của tập lệnh PHP?

Tính năng này có thể sử dụng từ khóa toàn cầu.

48) Làm thế nào có thể trả về một giá trị từ một hàm?

Hàm trả về một giá trị bằng cách sử dụng lệnh ‘return $ value;’.

49) Phương pháp băm thuận tiện nhất được sử dụng để băm mật khẩu là gì?

Tốt nhất là sử dụng crypt () vốn hỗ trợ một số thuật toán băm hoặc hàm băm () hỗ trợ nhiều biến thể hơn so với crypt () thay vì sử dụng các thuật toán băm phổ biến như md5, sha1 hoặc sha256 vì chúng được hình thành là nhanh. Do đó, băm mật khẩu với các thuật toán này có thể tạo ra lỗ hổng.

50) Phần mở rộng mật mã nào cung cấp việc tạo và xác minh chữ ký số?

 

Phần mở rộng PHP-OpenSSL cung cấp một số hoạt động mã hóa bao gồm tạo và xác minh chữ ký số.