See a lot of friends are asking for PHP interview questions, I will give you to collect some face questions. Are the latest topics in the 2017, I hope to help you improve their water products, but also wish you can get what you want into the company.
This paper collects and analyzes the latest 2017PHP test questions in detail. Share to everyone for your reference. Specific as follows:
1. The time format of the day before printing with PHP is 2006-5-10 22:21:21 (2 minutes)
$a = Date ("y-m-d h:i:s", Strtotime ("1 day"));
Print_r ($a);
2, Echo (), print (), Print_r () difference (3 points)
Echo and print are not a function, it is a language structure
int print (string $arg) with only one parameter
Echo arg1,arg2; Multiple parameters can be output, return void
Echo and print can only print out a string and cannot print out the structure
Print_r can print out the structure
Like what
$arr = Array ("Key" = "value");
Print_r ($arr);
3, the ability to make HTML and PHP separated from the use of the template (1 points)
Smarty,phplib
4. What tools are used for version control? (1 points)
Svn,git,cvs
5, how to implement string rollover? (3 points)
English:
Strrev ($a)
Chinese or other text:
English: GB2312, code is encoded using GB2312
<?php
function reverse ($STR)
{
$ret = "";
Len=mbstrwidth (str, "GB2312");
for (i=0;i< len;i++)
{
Arr[]=mbsubstr (str, $i, 1, "GB2312");
}
Return implode ("", Array_reverse ($arr));
}
Print_r (Reverse ("Hello"));
6, optimize the MySQL database method. (4 points, more write more)
Statement aspect:
1 using indexes to increase query efficiency
2 Optimizing query statements to improve index hit ratio
The database covers aspects:
1 construct the Sub-database table to improve the storage and expansion capacity of databases
2 use different storage engines as needed
7, the Meaning of PHP (give 1 points)
Super Text preprocessing language
Hypertext Preprocessor
8. What is the function of MySQL to get the current time?, the function to format the date is (2 points)
Current_timestamp ()
Date_format ()
Select Date_format ("2011-11-21 10:10:10", "%y-%m-%d");
9, the implementation of the text string interception without garbled method. (3 points)
Mb_substr ($STR, 1, 1, "GB2312");
10. Have you ever used version control software? If you have the name of the version control software you are using? (1 points)
Svn
Git
11. Have you ever used a template engine? If you have the name of the template engine you are using? (1 points)
Smarty
12, please briefly describe your most proud of the development of the work (4 points)
Xxx
13, for the large-volume website, what method do you use to solve the traffic problem? (4 points)
1 Efficient use of cache, increased cache hit ratio
2 Using Load Balancing
3 Use CDN for static files for storage and acceleration
4 ideas to reduce the use of the database
5 See where the statistics bottlenecks are
14. Use PHP to write the code showing client IP and server IP 1 points)
$_server["REMOTE_ADDR"]
$_server["SERVER_ADDR"]
15. What is the difference between statement include and require? To avoid including the same file multiple times, you can use (?) Statements instead of them? (2 points)
At the time of failure:
Include produces a warning, while require produces a direct error interrupt
Require loading before running
Include is loaded at run time
Require_once
Include_once
16, how to modify the session's survival time (1 points).
Session_set_cookie_params
17, there is a web address, such as the PHP Lab homepage: http://www.jb51.net/index.html, how to get its content? ($/min)
File_get_contents
Curl
18, in HTTP 1.0, the meaning of status code 401 is (?); If you get a hint that "file not found" is returned, the header function is available and the statement is (?);( 2 min)
Not authorized
Header ("http/1.0 404 Not Found");
In fast CGI:
Header ("status:404 not Found");
19, in PHP, Heredoc is a special string, its end flag must? (1 points)
Paired appearance
$a = <<eod
Good test
EOD;
20, talk about the advantages and disadvantages of asp,php,jsp (1 points)
ASP is required to rely on IIS, is a language developed by Microsoft
PHP and JSP can rely on other servers such as Apache or Nginx
21. Talk about MVC (1 points)
Model: Data structure layer
View: Show
Control: Receive and judge processing input
22, write the number of the top 10 names of SQL, using the following table: Members (Id,username,posts,pass,email) (2 points)
Select top Id,username from members order by posts DESC
23. Please indicate the difference between the value of the transfer and the reference in PHP. When is the value passed? (2 points)
& Represents a reference
Parameter passing in a function changes the parameters
It is generally possible to consider using a reference when there are multiple output parameters
24. What is the function of error_reporting in PHP? (1 points)
Set the display level of error
25. Please write a function to verify that the e-mail is in the correct format (2 points)
$str = "jianfeng@126.com";
Regex= "([a−z0−9\.−]+) @ ([\da−z\.−]+) \. ([A−z\.] 2,6) "; Regular
Return Preg_match (REGEX,STR)
26. Describe how to get the current execution script path, including the obtained parameters. (2 points)
$ARGC--Get the number of parameters
$ARGV--Get the list of parameters
27. How to modify the lifetime of the session. (1 points)
Session_set_cookie_params
28. JS Form Popup dialog function is? Get the input focus function? (2 points)
Alert ()
Confirm ()
Promopt ()
Focus ()
29, JS's steering function is? How to introduce an external JS file? (2 points)
window.location.href= "#"
<script src= "#" ></script>
30. What is the difference between foo () and @foo ()? (1 points)
@ on behalf of all warning ignored
31. How do I declare a class with no methods and properties named "MyClass"? (1 points)
class MyClass
{
}
32. How to instantiate an object named "MyClass"? (1 points)
$myclass = new MyClass ();
33. How do you access and set the properties of a class? (2 points)
<?php
Class A
{
Public $name = "A";
}
$a = new A ();
n=a->name;
Print_r ($n);
34. What is the difference between mysql_fetch_row () and mysql_fetch_array? (1 points)
Mysql_fetch_array () is an extended version of Mysql_fetch_row (). In addition to storing data as a numeric index in an array, you can store the data as an associated index, using the field name as the key name.
<?php
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);
35, what is the GD library for? (1 points)
Dynamic and open image processing library
36. Point out some ways to enter HTML code in PHP. (1 points)
echo "{html}"
Echo <<eod
{html}
EOD;
37. Which of the following functions can open a file to read and write to a file? (1 points) 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 points) b
(a) $users [] = ' John ';
(b) Array_add ($users, ' John ');
(c) Array_push ($users, ' John ');
(d) $users | | = ' John ';
39, the following program will enter whether or not? (1 points) 10
$num = 10;
function Multiply () {
Num=num * 10;
}
Multiply ();
Echo $num;
?>
40, use PHP to write a simple query, find out all the name "Zhang San" content and print out (2 points)
Table name UserName Tel Content Date
Zhang 313,333,663,366 College Graduation 2006-10-11
Zhang 313,612,312,331 Bachelor's degree 2006-10-15
Zhang Si 021-55665566 secondary school 2006-10-15
Please complete the code according to the above topic:
$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%s, education:%s, Graduation Date:%s",
item[' UserName '],item[' Tel ', item[' Content '],item[' Date ']
);
}
41, how to use the following class, and explain what the following mean? (3)
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;
The 32-bit string generated after NUM is MD5 encoded A1 and "En" are connected and then MD5 encoded again.
42. Write the format of the SQL statement: INSERT, UPDATE, delete (4 points)
Table name UserName Tel Content Date
Zhang 313,333,663,366 College Graduation 2006-10-11
Zhang 313,612,312,331 Bachelor's degree 2006-10-15
Zhang Si 021-55665566 secondary school 2006-10-15
(a) A new record (Xiao Wang 13254748547 High school 2007-05-06) please add a SQL statement to the table
Insert into table name values (' Xiao Wang ', ' 13254748547 ', ' High School graduate ', ' 2007-05-06 ')
(b) Use an SQL statement to update the Zhang San time to the current system time
Update table name Set Date = GETDATE () where UserName = "Zhang San"
(c) Please write down all records named Zhang Xi
Delete from indicates where UserName = "Zhang Si"
43. Please write the meaning of the data type (int char varchar datetime text); What is the difference between varchar and char (2 points)
int integral type
char Storage fixed length
VARCHAR storage variable length
DateTime time
The text store gets longer
VARCHAR is variable length
CHAR (20) fixed length
44. MYSQ Self-increment type (usually the table ID field) must be set to (?) Field (1 points)
Auto_increment
45, write out the following program output results (1 points)
$b = 201;
$c = 40;
A=b> $c? 4:5;
echo $a;
46. Is there a function to detect whether a variable is set or not? is the function empty? (2 points)
Isset ()
Empty ()
47. What is the function that gets the total number of query result sets? (1 points)
Mysql_num_rows ()
48, $arr = Array (' James ', ' Tom ', ' Symfony '); Please print out the value of the first element (1 points)
Print_r ($arr [0]);
Reset ($arr);
Print_r (current ($arr));
Print_r (Array_shift ($arr));
49. Separate the values of the array of 41 questions with ', ' and combine them into a string output (1 points)
Implode
50, a= ' abcdef '; Please remove the value of a and print out the first letter (1 points)
$a [0];
substr ($a, 0, 1);
51. Can PHP connect to a database such as SQL Server/oracle? (1 points)
OK
There are ready-made libraries
52. Please write out the PHP5 permission control modifier (3 points)
Public
Private
Protected
53. Please write the PhP5 constructor and destructor (2 points)
Public Function construct ()
{
}
Public Function Destruct ()
{
}
Programming Questions:
1. Write a function, as efficiently as possible, to remove the file's extension from a standard URL
For example: http://www.sina.com.cn/abc/de/fg.php?id=1 need to remove PHP or. php
<?php
$url = "Http://www.sina.com.cn/abc/de/fg.php?id=1";
Arr=parseurl (URL);
Patharr=pathinfo (arr[' path ');
Print_r ($pathArr [' extension ']);
3. Write a function that calculates the relative path of the two files
such as $a = '/a/b/c/d/e.php ';
$b = '/a/b/12/34/c.php ';
Calculates the relative path of B relative to a should be http://www.jb51.net/12/34/c.php will be added
<?php
$a = '/a/b/c/d/e.php ';
$b = '/a/b/12/34/c.php ';
Gets the relative path of path relative to Conpath
function Sgetrelativepath (Path,conpath)
{
Patharr=explode ("/", path);
Conpatharr=explode ("/", Conpath);
$dismatchlen = 0;
For (I=0;i < count (Patharr); 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));
3. Write a function that can traverse all the files and subfolders under a folder.
<?php
function Agetallfile ($folder)
{
$AFILEARR = Array ();
if (Is_dir ($folder))
{
Handle=opendir (folder);
while ((File=readdir (handle))!== false)
{
If it is. Or. Then 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));