Skip to Content

PHP Interview Questions and Answers

PHP Interview Questions - Here are some of the best PHP Interview questions with answers. We use most of them during the selection and hiring process of PHP programmers in our company. These are most commonly asked questions during the interview and selection process of a PHP developer. So, if you are appearing for the interview of PHP programmer, make sure that you've covered all these questions and answers.

PHP Interview Questions and Answers

1) What is the difference between strstr & stristr?

For strstr, the syntax is: string strstr(string $string,string $str ); The function strstr will search $str in $string. If it finds the string, it will return string from where it finds the $str upto end of $string.

For Example:

$string = "";

The output is "". The main difference between strstr and stristr is of case sensitivity. The former consider the case difference and later ignore the case difference.

2) What is the difference between explode and split?

Split function splits string into array by regular expression. Explode splits a string into array by string.

For Example:

explode(" and", "India and Pakistan and Srilanka");
split(" :", "India : Pakistan : Srilanka");

Both of these functions will return an array that contains India, Pakistan, and Srilanka.

3) How can you avoid execution time out error while fetching record from MySQL?

set_time_limit - Limits the maximum execution time

For Example:


If you set to 0 you say that there is not limit.

4) Write a SQL query that displays the difference between the highest and lowest salaries of a database table "employees". Label the column as DIFFERENCE.

Select max(sal)-min(sal) as Difference from employees;

5) What is the difference between require() and include()?

Both of these constructs includes and evaluates the specific file. The two functions are identical in every way except how they handle failure. If filepath not found, require() terminates the program and gives fatal error, but include() does not terminate the program; It gives warning message and continues to program.

include() produces a Warning while require() results in a Fatal Error if the filepath is not correct.

6) What is the difference between echo and print?

Main difference between echo() and print() is that echo is just an statement not a function and doesn't return's value or it just prints a value whereas print() is an function which prints a value and also it returns value.

We cannot pass arguments to echo since it is just a statement whereas print is a function and we can pass arguments to it and it returns true or false. print can be used as part of a more complex expression whereas echo cannot. echo is marginally faster since it doesn't set a return value.

7) An examiner awards the highest mark 75 and the lowest mark 25, the pass marks being 40. The moderator wants to change the highest mark to 250 and the lowest marks to 100 using the linear formula y=ax+b. The revised pass marks will be:

A. 145
B. 150
C. 160
D. 400/3

Give the correct option.



Solve it get and b and then put


Answer: 145

8) A and B are shooters and having their exam. A and B fall short of 10 and 2 shots respectively to the qualifying mark. If each of them fired at least one shot and even by adding their total score together, they fall short of the qualifying mark, what is the qualifying mark?

Answer: 11

As A is short by 10 - he has shot 1

As B is short by 2 - he has shot 9

9+1=10 and 10

9) In objective test a correct answer score 4 marks and on a wrong answer 2 marks. A student scores 480 marks from 150 questions. How many answers were correct?

A. 120
B. 130
C. 110
D. 150

Answer: B i.e. 130


Then X is 130 so 130 is correct answer.

10) An INK bug starts jumping 1 meter to each direction north, south, east and west respectively. It marks a point in the new locations. It comes back to its original point after jumping in all directions. It again starts the same process from the newly drawn unique points. Totally how many points did the bug mark?

11) A guy walks at 4kmph from a point. After 4 hrs a cyclist starts from the same point at 10km/h. At what distance will they meet from the starting point?

Answer: 26.66 km

Explanation: We have, s=vt where s=distance. Since both meet at same point, both travels same distance=s km. Now, equating, 10(t+4) = 4t ------> t=20/3

sub. t=20/3 in s=4t---------> s = 26.66km

12) What's the difference between COPY OF A FILE & MOVE_UPLOAD_FILE in file uploading?

  • Move: This function checks to ensure that the file designated by filename is a valid upload file (meaning that it was uploaded via PHP HTTP POST upload mechanism). If the file is valid, it will be moved to the filename given by destination. If filename is not a valid upload file, then no action will occur, and move_uploaded_file() will return FALSE.
  • Copy: Makes a copy of a file. Returns TRUE if the copy succeeded, FALSE otherwise.

13) How do you insert single & double quotes in MySQL database without using PHP?

Escape single quote using forward slash '. In double quotes you don't need to escape quotes. Insert double quotes as "".

14) What do you need to do to improve the performance (speedy execution) for the script you have written?

If your script is to retrieve data from Database, you should use "Limit" syntax. Break down the non dynamic sections of website which need not be repeated over a period of time as include files.

15) How do you capture audio/video in PHP?

You need a module installed - FFMPEG. FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can be compiled under most operating systems, including Windows.

16) How do you know (status) whether the recipient of your mail had opened the mail i.e. read the mail?

Embed an URL in a say 0-byte image tag may be the better way to go. In other word, you embed an invisible image on you html email and when the src URL is being rendered by the server, you can track whether your recipients have view the emails or not.

17) What is a random number?

A random number is a number generated by a process, whose outcome is unpredictable, and which cannot be sub sequentially reliably reproduced.

18) What is difference between srand & shuffle?

The srand function seeds the random number generator with seed and shuffle is used for shuffling the array values.

shuffle - This function shuffles (randomizes the order of the elements in) an array. This function assigns new keys for the elements in array. It will remove any existing keys you may have assigned, rather than just reordering the keys.

srand - Seed the random number generator

19) How can we remove duplicate values from an array?

array_unique() function can be used for the purpose.

20) How do I find out weather a number is an odd or even?

if (number%2==0 ) then even else odd.

21) How can we get the ID generated from the previous insert operation?

SELECT MAX(ID) from tablename;

22) How to limit the number of rows to 5 that I get out of my database?

Select * from tablename LIMIT 0, 5;

23) How to store binary data in MySQL?

Use BLOB data type for the database field.

24) How can we submit a form without a submit button?

We can submit a form using the JavaScript. Example: document.formname.submit();

25) How can I maintain the count of how many persons have hit my site?

26) What is difference between mysql_fetch_array(), mysql_fetch_row() and mysql_fetch_object()?

  • mysql_fetch_array - Fetch the all matching records of results.
  • mysql_fetch_object - Fetch the first single matching record of results.
  • mysql_fetch_row - fetches a result row as array.

27) How to make a download page in own site, where I can know that how many file has been loaded by particular user or particular IP address?

We can log the IP addresses in one database table while downloading the file. This way we can count and check the no. of rows inserted for a particular download.

28) What is difference between mysql_connect() and mysql_pconnect() functions?

  • mysql_connect opens up a database connection every time a page is loaded. mysql_pconnect opens up a connection, and keeps it open across multiple requests.
  • mysql_pconnect uses less resources, because it does not need to establish a database connection every time a page is loaded.

29) What is the difference between "Insert", "Update" and "Modify" events?

  • INSERT - Add a new record into the database table.
  • MODIFY - If record is available it modifies otherwise it won't modify.
  • UPDATE - If record is available it updates the record otherwise it creates a new record.

30) How I can get IP address of a user in PHP?


31) How to make a login page where once the user has logged in will go back to the page it came from to login page?

32) How do we know properties of the browser?

You can gather a lot of information about a person's computer by using $_SERVER['HTTP_USER_AGENT']. This can tell us more about the user's operating system, as well as their browser. For example I am revealed to be Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/418 (KHTML, like Gecko) Safari/417.9.3 when visiting a PHP page.

This can be useful to programmers if they are using special features that may not work for everyone, or if they want to get an idea of their target audience. This also is important when using the get_browser() function for finding out more information about the browser's capabilities. By having this information the user can be directed to a version of your site best suited to their browser.

get_browser() attempts to determine the capabilities of the user's browser. This is done by looking up the browser's information in the browscap.ini file.

echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);

33) What is difference between require_once(), require(), include(). Because all these function are used to call a file in another file.

Difference between require() and require_once(): require() includes and evaluates a specific file, while require_once() does that only if it has not been included before (on the same page).

So, require_once() is recommended to use when you want to include a file where you have a lot of functions for example. This way you make sure you don't include the file more times and you will not get the "function redeclared" error.

Difference between require() and include() is that require() produces a FATAL ERROR if the file you want to include is not found, while include() only produces a WARNING.

There is also include_once() which is the same as include(), but the difference between them is the same as the difference between require() and require_once().

34) If you have to work with dates in the following format: "Tuesday, February 14, 2006 @ 10:39 am", how can you convert them to another format that is easier to use?

The strtotime function can convert a string to a timestamp.
A timestamp can be converted to date format. So it is best to store the dates as timestamp in the database, and just output them in the format you like.

So let's say we have $date = "Tuesday, February 14, 2006 @ 10:39 am";
In order to convert that to a timestamp, we need to get rid of the "@" sign, and we can use the remaining string as a parameter for the strtotime function.

So we have

$date = str_replace("@ ","",$date);
$date = strtotime($date);

Now $date is a timestamp and we can say:

echo date("d M Y",$date);

35) What is CAPTCHA?

CAPTCHA stands for Completely Automated Public Turing Test to tell Computers and Humans Apart. To prevent spammers from using bots to automatically fill out forms, CAPTCHA programmers will generate an image containing distorted images of a string of numbers and letters. Computers cannot determine what the numbers and letters are from the image but humans have great pattern recognition abilities and will be able to fairly accurately determine the string of numbers and letters. By entering the numbers and letters from the image in the validation field, the application can be fairly assured that there is a human client using it.

36) What is the difference between sessions and cookies?

37) What is the difference between $x and $$x?

$x is simple variable. $$x is reference variable or infact a variable of variable. A variable variable allows us to change the name of a variable dynamically.

$x = "this";
$$x = "is cake";

The $$ is the syntax used in PHP for a variable variable. I can now call the two variables $x and $$x two ways.

echo "$x ${$x}";

echo "$x $this";

Both of these will return the string "this is cake". Notice that $$x is written as ${$x} in echo. This lets PHP know that you are using the variable $$x and not $ and $x

38) What is meant by nl2br()?

New line (\n) to Break tag (<br>) conversion.

39) What are the current versions of apache, PHP, and MySQL?

40) What are the reasons for selecting lamp (Linux, Apache, MySQL, PHP) instead of combination of other software programs, servers and operating systems?

41) How can we encrypt and decrypt a data present in a MySQL table using MySQL?

AES_ENCRYPT(str,key_str) , AES_DECRYPT(crypt_str,key_str)

42) What are the differences between GET and POST methods in form submitting, give the case where we can use get and we can use post methods?

43) What does PHP stands for and who is the father of PHP? Explain the changes in PHP versions?

44) How can we create a database using PHP and MySQL?

45) What is meant by urlencode() and urldecode()?

string urlencode(str)

When str contains a string like this "hello world" and the return value will be URL encoded and can be use to append with URLs, normally used to append data for GET like

string urldocode(str)

This will simple decode the GET variable.

Powered by PHPKB Knowledge Base Software