Collection of classic PHP interview questions_PHP tutorial
Collection of classic PHP interview questions
This article mainly introduces the collection of classic PHP interview questions. It collects and organizes common PHP interview questions and related reference answers for your reference. , friends in need can refer to it
This article analyzes classic PHP interview questions in more detail. Share it with everyone for your reference. The details are as follows:
I did some PHP questions on the Internet, and I have reached this point without realizing it...posting the answers for reference.
1. Use PHP to print out the time of the previous day in the format of 2006-5-10 22:21:21 (2 points)
?
|
|
2. The difference between echo(), print() and print_r() (3 points)
int print(string $arg), only one parameter
echo arg1,arg2; can output multiple parameters and return void
1 2 |
$arr = array("key"=>"value"); print_r($arr); |
?
1
|
$arr = array("key"=>"value"); print_r($arr);
|
1 2 3 4 5 6 7 8 9 10 11 12 |
function reverse($str) { $ret = ""; len=mbstrwidth(str,"GB2312"); for(i=0;i { arr[]=mbsubstr(str, $i, 1, "GB2312"); } return implode("", array_reverse($arr)); } print_r(reverse("你好")); |
4. What tools are used for version control? (1 point)
svn,git,cvs
5. How to implement string flipping? (3 points)
English:
strrev($a)
Chinese or other text:
?
1
2
3
6
7 8
|
function reverse($str) { $ret = ""; len=mbstrwidth(str,"GB2312"); for(i=0;i { arr[]=mbsubstr(str, $i, 1, "GB2312"); } return implode("", array_reverse($arr)); } print_r(reverse("Hello")); |
1 2 3 | CURRENT_TIMESTAMP() DATE_FORMAT() select DATE_FORMAT("2011-11-21 10:10:10", "%Y-%m-%d"); |
1 | mb_substr($str, 1, 1, "GB2312"); |
10. Have you ever used version control software? If so, what is the name of the version control software you used? (1 point)
svn
git
11. Have you ever used a template engine? If so, what is the name of the template engine you used? (1 point)
smarty
12. Please briefly describe your most proud development work (4 points)
XXX
13. For websites with high traffic, what methods do you use to solve the traffic problem? (4 points)
1 Use cache effectively to increase cache hit rate
2 Use load balancing
3 Use CDN to store and accelerate static files
4 ideas to reduce database usage
5 Check where the statistical bottlenecks are
14. Use PHP to write the code to display the client IP and server IP 1 point)
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
15. What is the difference between the include and require statements? To avoid including the same file multiple times, you can replace them with (?) statements? (2 points)
On failure:
include generates a warning, while require generates an error interrupt
require is loaded before running
include is loaded at runtime
require_once
include_once
16. How to modify the survival time of SESSION (1 minute).
session_set_cookie_params
17. There is a web page address, such as the PHP Research Laboratory homepage: http://www.jb51.net/index.html, how to get its content? ($1 point)
file_get_contents
curl
18. In HTTP 1.0, the meaning of status code 401 is (?); if the prompt "File not found" is returned, the header function can be used, and its statement is (?); (2 points)
Unauthorized
?
|
header("HTTP/1.0 404 Not Found");
|
fast CGI:
1 |
header("Status: 404 Not Found"); |
1 |
header("Status: 404 Not Found");
|
1 2 3 |
$a = good test EOD; |
?
1 2
|
EOD; |
20. Talk about the advantages and disadvantages of asp, php and jsp (1 point)
PHP and JSP can rely on other servers such as apache or nginx
1 2 3 |
$str = "jianfeng@126.com"; regex="([a−z0−9.−] )@([da−z.−] ).([a−z.]2,6)" ; //正则 return preg_match(regex,str) |
1 2 3 | $str = "jianfeng@126.com"; regex="([a−z0−9.−] )@([da−z.−] ).([a−z.]2,6)" ; //Regular return preg_match(regex,str) |
26. Briefly describe how to get the current execution script path, including the obtained parameters. (2 points)
$argc --Get the number of parameters
$argv --Get parameter list
27. How to modify the survival time of SESSION. (1 point)
session_set_cookie_params
28. What is the function to pop up a dialog box in a JS form? What is the function to get input focus? (2 points)
alert()
confirm()
promopt()
focus()
29. What is the redirection function of JS? How to introduce an external JS file? (2 points)
?
|
|
30. What is the difference between foo() and @foo()? (1 point)
1 2 3 |
class myclass { } |
?
1
|
class myclass
{ }
|
32. How to instantiate an object named "myclass"? (1 point)
1
|
$myclass = new myclass();
|
33. How do you access and set the attributes of a class? (2 points)
?
|
class A { public $name = "A"; } $a = new A(); n=a->name; print_r($n); |
1 2 3 4 5 6 7 8 9 | mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while (row=mysqlfetcharray(result, MYSQL_ASSOC)) { printf ("ID: %s Name: %s", row["id"],row["name"]); } mysql_free_result($result); |
1 2 3 4 | echo "{html}" echo {html} EOD; |
37. Which of the following functions can open a file to read and write the file? (1 point) c
(a) fget() (b) file_open() (c) fopen() (d) open_file()
38. Which of the following options does not add john to the users array? (1 point) b
(a) $users[] = ‘john’;
(b) array_add($users,'john');
(c) array_push($users,‘john’);
(d) $users ||= ‘john’;
39. Will the following program be input? (1 point) 10
?
3
7 |
$num = 10;
}
multiply(); echo $num;
|
1 2 3 4 5 6 7 8 9 10 11 12 | $mysql_db=mysql_connect("local","root","pass"); @mysql_select_db("DB",$mysql_db); $sql = sprintf("select * from %s where UserName = '%s'", "table name", "Zhang San"); values=mysqlquery(sql); while(item=mysqlfetchqueryarray(values)) { echo sprintf("Username: %s, phone number %s, education: %s, graduation date: %s", item['UserName'],item['Tel'], item['Content'],item['Date'] ); } |
1 2 3 4 5 6 7 8 9 | class test{ function Get_test($num){ num=md5(md5(num)."En"); return $num; } } $test = new test(); ret=test->Get_test(11); print_r($ret);exit; |
Associate the 32-bit string a1 generated after num is MD5 encoded with "En" and then perform MD5 encoding again
42. Write the format of SQL statements: insert, update, delete (4 points)
Table Name UserName 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
(a) There is a new record (Xiao Wang 13254748547 graduated from high school 2007-05-06). Please use SQL statements to add it to the table
insert into table name values('Xiao Wang', '13254748547', 'High School Graduation', '2007-05-06')
(b) Please use sql statement to update Zhang San’s time to the current system time
update table name set Date = GETDATE() where UserName = "Zhang San"
(c) Please write to delete all records named Zhang Si
delete from indicates where UserName = "张思"
43. Please write the meaning of data type (int char varchar datetime text); what is the difference between varchar and char (2 points)
int integer
char storage fixed length
varchar storage variable length
datetime time
text stores variable-length
varchar is variable length
char(20) fixed length
44. MySQ auto-increment type (usually table ID field) must be set to (?) field (1 point)
auto_increment
45. Write the output of the following program (1 point)
?
3 |
$b=201;
$c=40; a=b>$c?4:5;
|
46. Is there a function that detects whether a variable is set? What is the function that detects whether it is empty? (2 points)
isset()
47. What is the function to obtain the total number of query result sets? (1 point)
1 2 3 4 |
print_r($arr[0]); reset($arr); print_r(current($arr)); print_r(array_shift($arr)); |
?
1
|
mysql_num_rows()
|
1 2 |
$a[0]; substr($a, 0, 1); |
?
1 4
|
print_r($arr[0]);
reset($arr);
|
1 2 | $a[0]; substr($a, 0, 1); |
1 2 3 4 5 6 | public function __construct() { } public function __destruct() { } |
Programming questions:
1. Write a function to retrieve the file extension from a standard URL as efficiently as possible
For example: http://www.sina.com.cn/abc/de/fg.php?id=1 You need to remove php or .php
?
3
|
$url = "http://www.sina.com.cn/abc/de/fg.php?id=1";
print_r($pathArr['extension']);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function aGetAllFile($folder) { $aFileArr = array(); if(is_dir($folder)) { handle=opendir(folder); while((file=readdir(handle)) !== false) { //如果是.或者..则跳过 if(file=="."||file == "..") { continue; } if(is_file(folder."/".file)) { aFileArr[]=file; } else if(is_dir(folder."/".file)) { aFileArr[file] = aGetAllFile(folder."/".file); } } closedir($handle); } return $aFileArr; } $path = "/home/test/sql"; print_r(aGetAllFile($path)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //Get the relative path of path relative to conpath function sGetRelativePath(path,conpath) { pathArr=explode("/",path); conpathArr=explode("/",conpath); $dismatchlen = 0; for(i=0;i { if(conpathArr[i] != pathArr[i]) { dismatchlen=count(pathArr) - $i; arrLeft=arrayslice(pathArr, $i); break; } } ret=strrepeat("../",dismatchlen).implode("/", $arrLeft); return $ret; } print_r(sGetRelativePath(b,a)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | function aGetAllFile($folder) { $aFileArr = array(); if(is_dir($folder)) { handle=opendir(folder); while((file=readdir(handle)) !== false) { //If yes.or..skip if(file=="."||file == "..") { continue; } if(is_file(folder."/".file)) { aFileArr[]=file; } else if(is_dir(folder."/".file)) { aFileArr[file] = aGetAllFile(folder."/".file); } } closedir($handle); } return $aFileArr; } $path = "/home/test/sql"; print_r(aGetAllFile($path)); |
I hope this article will be helpful to everyone’s PHP programming design.

Thedifferencebetweenunset()andsession_destroy()isthatunset()clearsspecificsessionvariableswhilekeepingthesessionactive,whereassession_destroy()terminatestheentiresession.1)Useunset()toremovespecificsessionvariableswithoutaffectingthesession'soveralls

Stickysessionsensureuserrequestsareroutedtothesameserverforsessiondataconsistency.1)SessionIdentificationassignsuserstoserversusingcookiesorURLmodifications.2)ConsistentRoutingdirectssubsequentrequeststothesameserver.3)LoadBalancingdistributesnewuser

PHPoffersvarioussessionsavehandlers:1)Files:Default,simplebutmaybottleneckonhigh-trafficsites.2)Memcached:High-performance,idealforspeed-criticalapplications.3)Redis:SimilartoMemcached,withaddedpersistence.4)Databases:Offerscontrol,usefulforintegrati

Session in PHP is a mechanism for saving user data on the server side to maintain state between multiple requests. Specifically, 1) the session is started by the session_start() function, and data is stored and read through the $_SESSION super global array; 2) the session data is stored in the server's temporary files by default, but can be optimized through database or memory storage; 3) the session can be used to realize user login status tracking and shopping cart management functions; 4) Pay attention to the secure transmission and performance optimization of the session to ensure the security and efficiency of the application.

PHPsessionsstartwithsession_start(),whichgeneratesauniqueIDandcreatesaserverfile;theypersistacrossrequestsandcanbemanuallyendedwithsession_destroy().1)Sessionsbeginwhensession_start()iscalled,creatingauniqueIDandserverfile.2)Theycontinueasdataisloade

Absolute session timeout starts at the time of session creation, while an idle session timeout starts at the time of user's no operation. Absolute session timeout is suitable for scenarios where strict control of the session life cycle is required, such as financial applications; idle session timeout is suitable for applications that want users to keep their session active for a long time, such as social media.

The server session failure can be solved through the following steps: 1. Check the server configuration to ensure that the session is set correctly. 2. Verify client cookies, confirm that the browser supports it and send it correctly. 3. Check session storage services, such as Redis, to ensure that they are running normally. 4. Review the application code to ensure the correct session logic. Through these steps, conversation problems can be effectively diagnosed and repaired and user experience can be improved.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Notepad++7.3.1
Easy-to-use and free code editor

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
