Home Backend Development PHP Tutorial 33 common PHP interview questions and answers

33 common PHP interview questions and answers

Jul 25, 2016 am 08:45 AM

1. In PHP, the name of the current script (excluding path and query string) is recorded in the predefined variable (1); and the URL linking to the current page is recorded in the predefined variable (2).

Copy the code The code is as follows:
Answer: echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];

2. The execution program segment will output (3).

Copy the code The code is as follows:
Answer: 0

3. In HTTP 1.0, the meaning of status code 401 is (4); if the prompt "File not found" is returned, the header function can be used, and its statement is (5).

Copy the code The code is as follows:
Answer: (4) Unauthorized (5) header("HTTP/1.0 404 Not Found");

4. The function of array function arsort is (6); the function of statement error_reporting(2047) is (7).

Copy the code The code is as follows:
Answer: (6) Reverse sort the array and maintain the index relationship (7) All errors and warnings

5. Write a regular expression to filter all JS/VBS scripts on the web page (that is, remove the tags and their contents): (9).

Copy the code The code is as follows:
Answer: /].*?>.*?>/si

6. To install PHP as an Apache module, first use statement (10) in the file http.conf to dynamically load the PHP module,

Then use statement (11) to cause Apache to process all files with the extension php as PHP scripts.

Copy the code The code is as follows:
Answer: (10) LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"
(11) AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

7. The statements include and require can include another file into the current file. The difference between them is (12); in order to avoid including the same file multiple times, you can use the statement (13) to replace them.

Copy the code The code is as follows:
Answer: (12) When an exception occurs, include generates a warning and require generates a fatal error (13) require_once()/include_once()

8. The attributes of the class can be serialized and saved to the session, so that the entire class can be restored later. The function to be used is (14).

Copy the code The code is as follows:
Answer: serialize() /unserialize()

9. The parameter of a function cannot be a reference to a variable, unless (15) is set to on in php.ini.

Copy the code The code is as follows:
Answer: allow_call_time_pass_reference

10.The meaning of LEFT JOIN in SQL is (16).

If tbl_user records the student’s name (name) and student number (ID),

tbl_score records the student number (ID), test score (score), and test subject (some students were expelled after taking the test, and there is no record of them),

If you want to print out the name of each student and the corresponding total score of each subject, you can use SQL statement (17).

Copy the code The code is as follows:
Answer: (16) Natural left outer join
(17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID group by tbl_user.ID

11.. In PHP, heredoc is a special string, and its end flag must be (18).

Copy the code The code is as follows:
Answer: The line where the end identifier is located cannot contain any other characters except ";"

12. Use PHP to print out the time of the previous day in the format of 2006-5-10 22:21:21

Copy the code The code is as follows:
Answer: echo date('Y-m-d H:i:s', strtotime('-1 day'));

13.The difference between echo(), print(), and print_r()

Copy the code The code is as follows:
Answer: echo is a language structure with no return value; the print function is basically the same as echo, except that print is a function with a return value; print_r is recursive printing, used to output array objects

14. How to implement string flip?

Copy the code The code is as follows:
Answer: Just use the strrev function. Don’t use PHP’s built-in one, just write it yourself:
strrev($str)
{
$len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
}

15. A method to intercept Chinese text strings without garbled characters.

Copy the code The code is as follows:
Answer: mb_substr()

16. Use php to write a simple query to find all the content named "Zhang San" and print it out

Table name User

Name Tel Content Date

Zhang San 13333663366 Graduated from college 2006-10-11

Zhang San 13612312331 Bachelor degree 2006-10-15

Zhang Si 021-55665566 Graduated from technical secondary school 2006-10-15

Copy the code The code is as follows:
Answer: SELECT Name,Tel,Content,Date FROM User WHERE Name='张三'

17. How to use the following classes and explain what they mean?

class test
{
Get_test($num)
{
$num=md5(md5($num)."En");
return $num;
}
}

Answer: Usage:

Copy the code The code is as follows:
$get_test = new test();
$result = $get_test->Get_test(2);

The $num variable is md5ed twice and then returned. The parameters in the second md5 are added with En

after the first md5($num)

18. Use more than five ways to get the extension of a file

Required: dir/upload.image.jpg, find out .jpg or jpg,

Copy the code The code is as follows:
Answer: Use more than five ways to get the extension of a file
1)
get_ext1($file_name)
{
return strrchr($file_name, '.');
}
2)
get_ext2($file_name)
{
return substr($file_name, strrpos($file_name, '.'));
}
3)
get_ext3($file_name)
{
return array_pop(explode('.', $file_name));
}
4)
get_ext4($file_name)
{
$p = pathinfo($file_name);
return $p['extension'];
}
5)
get_ext5($file_name)
{
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}

19. How to modify the survival time of SESSION

This library allows you to process and display graphics files in various formats. Another common use of it is to create graphics files. Another option besides GD is ImageMagick, but this function library is not built into PHP and must be installed on the server by the system administrator. Answer: In fact, Session also provides a function session_set_cookie_params(); to set the Session's For lifetime, this function must be called before the session_start() function is called:

<?php
// Save for one day
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"] = true;
?>

20. Please write a function to achieve the following functions: Convert the string "open_door" to "OpenDoor", "make_by_id" to "MakeById".

Copy the code The code is as follows:
Answer:
Function test($str){
$arr1=explode('_',$str);
//$arr2=array_walk($arr1,ucwords( ));
$str = implode(' ',$arr1);
return ucwords($str);
}
$aa='open_door';
echo test($aa);
?>

21. How to use PHP environment variables to get the content of a web page address? How to get the ip address?

Copy the code The code is as follows:
Answer: $_SERVSR[‘REQUEST_URI’]
$_SERVER[‘REMOTE_ADDR’]

22. Find the difference between two dates, such as the date difference between 2007-2-5 ~ 2007-3-6

Copy the code The code is as follows:
Answer: (strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24

23. There are three columns A, B, and C in the table. Use SQL statements to implement this: when column A is greater than column B, select column A, otherwise select column B. When column B is greater than column C, select column B, otherwise select column C.

Copy the code The code is as follows:
Answer: select case when A>B then A else B end,
case when B>C then B else C end
From test

24. Please briefly describe the method to optimize the execution efficiency of SQL statements in the project. From what aspects, how to analyze the performance of SQL statements?

Copy the code The code is as follows:
Answer: (1) Choose the most efficient order of table names
(2) Connection order in WHERE clause
(3) Avoid using ‘*’ in the SELECT clause
(4) Replace the HAVING clause with the Where clause
(5) Improve SQL efficiency through internal functions
(6) Avoid using calculations on index columns.
(7) Improve the efficiency of the GROUP BY statement by filtering out unnecessary records before GROUP BY.

25.What is the difference between mysql_fetch_row() and mysql_fetch_array()?

Copy the code The code is as follows:
mysql_fetch_row() stores a database column in a zero-based array, with the first column at array index 0, the second column at index 1, and so on. mysql_fetch_assoc() stores a column of the database in an associative array. The index of the array is the field name. For example, my database query returns the three fields "first_name", "last_name", and "email". The index of the array is "first_name", "last_name" and "email". mysql_fetch_array() can return the values ​​of both mysql_fetch_row() and mysql_fetch_assoc().

26.What is the following code used for? please explain.

$date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\2/\1 /\3",$date);

Copy the code The code is as follows:
This is to convert a date from MM/DD/YYYY format to DD/MM/YYYY format. A good friend of mine told me that this regular expression can be disassembled into the following statements. For such a simple expression, there is no need to disassemble it. It is purely for the convenience of explanation:
// Corresponds to one or more 0-9, followed by a slash $regExpression = "([0-9]+)/"; // Corresponds to one or more 0-9, followed by another slash $regExpression .= "([0-9]+)/";// Again corresponds to one or more 0-9$regExpression .= "([0-9]+)"; as for \2/\1/\ 3 is used to correspond to brackets. The first bracket corresponds to the month,

27.What is the GD library used for?

Copy the code The code is as follows:
Answer: This library allows you to process and display graphics files in various formats. Another common use of it is to create graphics files. Another option besides GD is ImageMagick, but this library is not built into PHP and must be installed on the server by the system administrator

28. Please give an example of what methods you use to speed up page loading during your development process

Copy the code The code is as follows:
Answer: Only open the server resources when they are needed, close the server resources in time, add indexes to the database, and the page can generate static, pictures and other large files on a separate server. Use code optimization tools

29. To prevent SQL injection vulnerabilities, the __addslashes___ function is generally used.

30.What is the difference between passing values, passing references, and passing addresses in PHP?

Copy the code The code is as follows:
Answer: Passing by value is to assign the value of the actual parameter to the row parameter. Then the modification of the row parameter will not affect the value of the actual parameter
Passing address is a special way of passing value, but it passes the address, not the ordinary int. After passing the address, the actual parameters and line parameters point to the same object

31. How to determine whether a window has been blocked through javascript

Copy the code The code is as follows:
Answer: Get the return value of open(). If it is null, it is blocked

33. For websites with large traffic, what methods do you use to solve the traffic problem

Copy the code The code is as follows:
Answer: First, confirm whether the server hardware is sufficient to support the current traffic
Second, optimize database access.
Third, external hotlinking is prohibited.
Fourth, control the download of large files.
Fifth, use different hosts to divert main traffic
Sixth, use traffic analysis and statistics software

The above is the entire content of this article. I hope it will be helpful to everyone learning php.

Interview questions, php


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

cURL in PHP: How to Use the PHP cURL Extension in REST APIs cURL in PHP: How to Use the PHP cURL Extension in REST APIs Mar 14, 2025 am 11:42 AM

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Framework Security Features: Protecting against vulnerabilities. Framework Security Features: Protecting against vulnerabilities. Mar 28, 2025 pm 05:11 PM

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

Customizing/Extending Frameworks: How to add custom functionality. Customizing/Extending Frameworks: How to add custom functionality. Mar 28, 2025 pm 05:12 PM

The article discusses adding custom functionality to frameworks, focusing on understanding architecture, identifying extension points, and best practices for integration and debugging.

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

What exactly is the non-blocking feature of ReactPHP? How to handle its blocking I/O operations? What exactly is the non-blocking feature of ReactPHP? How to handle its blocking I/O operations? Apr 01, 2025 pm 03:09 PM

An official introduction to the non-blocking feature of ReactPHP in-depth interpretation of ReactPHP's non-blocking feature has aroused many developers' questions: "ReactPHPisnon-blockingbydefault...

See all articles