search
HomeBackend DevelopmentPHP Tutorial33 common PHP interview questions and answers

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
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
Working with Flash Session Data in LaravelWorking with Flash Session Data in LaravelMar 12, 2025 pm 05:08 PM

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

cURL in PHP: How to Use the PHP cURL Extension in REST APIscURL in PHP: How to Use the PHP cURL Extension in REST APIsMar 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.

Simplified HTTP Response Mocking in Laravel TestsSimplified HTTP Response Mocking in Laravel TestsMar 12, 2025 pm 05:09 PM

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 Best PHP Chat Scripts on CodeCanyon12 Best PHP Chat Scripts on CodeCanyonMar 13, 2025 pm 12:08 PM

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

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

How to Register and Use Laravel Service ProvidersHow to Register and Use Laravel Service ProvidersMar 07, 2025 am 01:18 AM

Laravel's service container and service providers are fundamental to its architecture. This article explores service containers, details service provider creation, registration, and demonstrates practical usage with examples. We'll begin with an ove

PHP Logging: Best Practices for PHP Log AnalysisPHP Logging: Best Practices for PHP Log AnalysisMar 10, 2025 pm 02:32 PM

PHP logging is essential for monitoring and debugging web applications, as well as capturing critical events, errors, and runtime behavior. It provides valuable insights into system performance, helps identify issues, and supports faster troubleshoot

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.

See all articles

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)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Atom editor mac version download

Atom editor mac version download

The most popular open source editor