Top 100 PHP Interview Questions and Answers
What is the difference between include(), include_once() and require_once()
Answers: The include() statement includes and evaluates a specified line i.e. it will include a file-based in the given path. require() does the same thing except upon failure it will generate a fatal error and halt the script whereas include() will just give a warning and allow the script to continue. require_once() will check if the file already has been included and if so it will not include the file again.
Differences between GET, POST, and REQUEST methods?
Answers:GET and POST are used to send information from client browser to web server. In case of GET the information is send via GET method in name/value pair and is URL encoded. The default GET has a limit of 512 PHP INTERVIEW QUESTIONS 2 characters. The POST method transfers the information via HTTP Headers. The POST method does not have any restriction in data size to be sent. POST is used for sending data securely and ASCII and binary type’s data. The $_REQUEST contains the content of both $_GET, $_POST and $_COOKIE
What are the different errors in PHP?
Answers : There are 4 basic types of error. Parse Error – Commonly caused due to syntax mistakes in codes e.g. missing semicolon, mismatch brackets. Fatal Error – These are basically run time errors which are caused when you try to access what can’t be done. E.g. accessing a dead object, or trying to use a function that hasn’t been declared. Warning Error – These occurs when u try to include a file that is not present, or delete a file that is not on the server. This will not halt the script; it will give the notice and continue with the next line of the script. Notice Error – These errors occurs when u try to use a variable that hasn’t been declared, this will not halt the script, It will give the notice and continue with the next line of the script.
What is the difference between $message and $$message?
Answers: The main difference between the $message and $$message is that the former one is a simple variable and latter is a reference variable. $message is a variable with a fixed name and it consists of a fixed value. $$messages contain the variable itself.
What's the difference between include and require?
Answers :If the file is not found by require(), it will cause a fatal error and halt the execution of the script. If the file is not found by include(), a warning will be issued, but execution will continue.
require_once(), require(), include().What is difference between them?
Answers : 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 re-declared" error.
Differences between GET and POST methods ?
Answers:We can send 1024 bytes using the GET method but the POST method can transfer a large amount of data and POST is the secure method than GET method .
How Create a PHP class?
Instead of having a bunch of functions, variables and code floating around willynilly, to design your php scripts or code libraries the OOP way, you'll need to define/ create your own classes. You define your own class by starting with the keyword 'class' followed by the name you want to give your new class.
Top 50 PHP Interview Questions
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 means it will return string from where it finds the $str upto end of $string. For Example: $string = "http://yahoomail.com"; $str="yahoomail"; The output is "yahoomail.com". 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: set_time_limit(0); 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()?
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. y=ax+b 100=25a+b 250=75a+b Solve it get and b and then put y=40a+b 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 < 11 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 Page 2/8 PDF generated by PHPKB Knowledge Base Script B. 130 C. 110 D. 150 Answer: B i.e. 130 4x-2y=480 x+y=150 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 4hrs a cyclist starts from the same point at 10kmph. At what distance will they meet from the starting point?
Answer: 26.66km 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's 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 db without using PHP?
& / "e; Alternately, escape single quote using forward slash \' . In double quote 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. Page 3/8 PDF generated by PHPKB Knowledge Base Script
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 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() funciton can be used for the purpose.
20) How do I find out weather a number is 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. Page 4/8 PDF generated by PHPKB Knowledge Base Script 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?
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 wont modify. UPDATE - If record is available it updates the record otherwise it creates a new record.
30) How I can get IP address? getenv("REMOTE_ADDR");
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"; $browser = get_browser(); foreach ($browser as $name => $value) { echo "$name $value
\n"; Page 5/8 PDF generated by PHPKB Knowledge Base Script }
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 re-declared" 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 ?
Base Script $x is simple variable. $$x is a reference variable or infact a variable of a variable. A variable allows us to change the name of a variable dynamically. The $$ is the syntax used in PHP for a variable. I can now call the two variables $x and $$x two ways. 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()?
Newline (\n) to Break tag (
) 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 the 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 someurl.com?var=hello%world string urldocode(str) This will simple decode the GET variable’s value. Example: echo (urldecode($_GET_VARS[var])) will output “hello world” Page 7/8 PDF generated by PHPKB Knowledge Base Script
46) What is the difference between the functions unlink and unset?
unlink is a function for file system handling. It will simply delete the file in context. unset will set UNSET the specified variable. unlink is used to delete a file. unset is used to destroy an earlier declared variable.
47) What are the different types of errors in PHP?
1. Notices: These are trivial, non-critical errors that PHP encounters while executing a script - for example, accessing a variable that has not yet been defined. By default, such errors are not displayed to the user at all - although you can change this default behavior. 2. Warnings: These are more serious errors - for example, attempting to include() a file which does not exist. By default, these errors are displayed to the user, but they do not result in script termination. 3. Fatal errors: These are critical errors - for example, instantiating an object of a non-existent class, or calling a non-existent function. These errors cause the immediate termination of the script, and PHP’s default behavior is to display them to the user when they take place.
48) How can we create a session variable & terminate it?
$_SESSION[’name’] = “Chinmay”; To destroy a session: unset($_SESSION[’name’]);
49) How to Create a Cookie & destroy it in PHP?
setcookie(”variable”,”value”,”time”); variable - name of the cookie variable variable - value of the cookie variable time - expiry time Example: setcookie(”test”,$i,time()+3600); Test - cookie variable name $i - value of the variable ‘Test’ time()+3600 - denotes that the cookie will expire after an one hour. Destroy a cookie by specifying expiry time Example: setcookie(”test”,$i,time()-3600); // already expired time Reset a cookie by specifying its name only setcookie(”test”);
50) What is the difference between sizeof($array) and count($array)?
sizeof($array) - This function is an alias of count() count($array) - If you just pass a simple variable instead of an array it will return