Home  >  Article  >  Backend Development  >  Good PHP interview questions and answers

Good PHP interview questions and answers

WBOY
WBOYOriginal
2016-07-25 08:53:461067browse
  1. strrev($str)
  2. {
  3. $len=strlen($str);
  4. $newstr = '';
  5. for($i=$len;$i>=0;$i--)
  6. {
  7. $newstr .= $str{$i};
  8. }
  9. return $newstr;
  10. }
Copy code

15. Implement a method to intercept Chinese strings without garbled characters.

Answer: mb_substr()

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

  1. Name user
  2. name tel content date
  3. Zhang San 13333663366 College graduate 2006-10-11
  4. Zhang San 13612312331 Undergraduate graduate 2006-10-15
  5. Zhang Si 021-55665566 Technical secondary school graduate 2006 -10-15
  6. Answer: select name,tel,content,date from user where name='张三'
Copy code

17. How to use the following class and explain what it means?

  1. class test
  2. {
  3. get_test($num)
  4. {
  5. $num=md5(md5($num)."en");
  6. return $num;
  7. }
  8. }
Copy code

Answer: Usage: $get_test = new test(); $result = $get_test->get_test(2);

The $num variable is md5ed twice and 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,

Answer: Use more than five methods to get the extension of a file

  1. 1)

  2. get_ext1($file_name)
  3. {
  4. return strrchr($file_name, '.');
  5. }
  6. 2)
  7. get_ext2($file_name)
  8. {
  9. return substr( $file_name, strrpos($file_name, '.'));
  10. }
  11. 3)
  12. get_ext3($file_name)
  13. {
  14. return array_pop(explode('.', $file_name));
  15. }

  16. 4)

  17. get_ext4($file_name)
  18. {
  19. $p = pathinfo($file_name);
  20. return $p['extension'];
  21. }
  22. 5)
  23. get_ext5($file_name)
  24. {
  25. return strrev (substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
  26. }

Copy code

19. How to modify the session survival time

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. lifetime, this function must be called before the session_start() function is called:

  1. <?php
  2. //Save for one day
  3. $lifetime = 24 * 3600;
  4. session_set_cookie_params($lifetime);
  5. session_start();
  6. $_session["admin"] = true;
  7. ?>
Copy code

20. Please write a function to achieve the following functions: The string "open_door" is converted into "opendoor", "make_by_id" is converted into "makebyid". 30. Please give an example of what methods you use to speed up page loading during your development process. a. Generate static html b. Generate xml c. If you don't use a database, try not to use a database to store variable parameters in text. d. Accelerate with zend answer:

  1. function test($str){
  2. $arr1=explode('_',$str);
  3. //$arr2=array_walk($arr1,ucwords( ) );

  4. $str = implode(' ',$arr1);

  5. return ucwords($str);
  6. }
  7. $aa='open_door';
  8. echo test($aa);
  9. ?>

Copy code

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

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

Answer: (strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24

23. There are three columns a, b, and c in the table, which can be implemented using SQL statements: 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.

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?

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 having clause with where clause

(5) Improve sql efficiency through internal functions

(6) Avoid using calculations on indexed columns.

(7) Improve the efficiency of group by statement by filtering out unnecessary records before group by.

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

mysql_fetch_row() stores a database column in a zero-based array, with the first column at index 0 of the array, 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);

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 No. $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?

Answer: This function 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. 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 value, passing reference and passing address in php? 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 what it passes is an address, not an ordinary int. Then 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 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

Answer: First, confirm whether the server hardware is sufficient to support the current traffic

Secondly, 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 shares some PHP interview questions and related answers, I hope it will be helpful to everyone.



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