PHP or Hypertext Preprocessor is a general-purpose programming language. It is the most preferred language for web development, which is why many organizations look for skilled and experienced PHP professionals. If you are planning to start your career in this field and prepare yourself for a software or web developer interview, your interview could include questions about PHP. Here is the list of most commonly asked PHP interview questions and answers. These PHP interview questions are suitable for both freshers and experienced professionals at any level. 

Top PHP Interview Questions and Answers

Q1. What is PHP?

Ans. PHP stands for Hypertext Preprocessor. It is a web-based scripting language that is used to create dynamic and interactive web pages. The syntax of PHP resembles Perl or C. It can perform any task related to server-side programming. A PHP file consists of tags, and it ends with the extension “.php.” PHP code can be embedded into HTML code. It can also be used with a web content management system, web frameworks, and web template systems.

PHP is a simple language to work on, even a new user can work on it. It offers multiple advanced features for professional developers, allowing them to develop efficient codes using its distinctive features. 

Explore popular courses on Naukri Learning: 

Popular Python Courses Top Java Courses
Popular JavaScript Courses  Top Programming Courses

Q2. Explain the different types of data types in PHP. 

Ans. PHP supports the following eight data types to construct the variables:

Data type Description
1 Integers It includes whole numbers (without a decimal point).
2 Booleans These have only two possible values, either true or false.
3 Doubles Floating-point numbers, like 23.6 or 2.32679.
4 Arrays Named and indexed collections of other values
5 Strings Sequences of characters
6 Objects Instances of programmer-defined classes, which can package up both other kinds of values and functions that are specific to the class
7 NULL Special type that only has one value, NULL
8 Resources Special variables that hold references to resources external to PHP

Q3. What are the features of PHP?

Ans. PHP has some unique features, which include:

  • Open-source
  • Platform Independent
  • Case sensitive
  • Flexibility
  • Efficiency
  • Third-party application support and security
  • Interpreted

 Q4. Why do we use PHP?

Ans. There are various reasons to use PHP for server-side programming:

  • It is a free language with no licensing fees; the cost of using it is minimal.
  • It supports multiple databases, including MySQL that is also a free source.
  • It is easier to create a website

Explore the top Database and SQL Courses 

Q5. Is PHP a loosely typed language?

Ans. Yes, it is a loosely typed language. It is not required to declare a variable type to declare a variable.

In PHP, if you declare a variable, then you don’t have to worry about what type of data would be stored in that variable. If you declare a variable called $String then it is not necessary to assign a string value, you can assign an integer value also.


$var=”Hello”: //String

$var= 20; //Integer

Q6. What are the different PHP Frameworks?

Ans. Following are the popular frameworks:

  • CodeIgniter
  • Yii 2
  • CakePHP
  • Zend Framework
  • Symfony
  • Phalcon
  • PHPixie
  • FuelPHP

 Q7. What are the characteristics of PHP variables?

Ans. Following are the characteristics:

  • Each variable is denoted by a dollar sign ($).
  • The value of a variable is the value of its most recent assignment.
  • Variables are assigned with “=” operator, where the variable is on the left-hand side and expression is on the right-hand side.
  • Variables can be but do not need to be declared before the assignment.
  • Variables do not have an intrinsic type; it does not know its variable type and can be assigned with any variable type.
  • Variables that are used in the code before they are assigned, have a default value.
  • PHP variables are Perl-like.

Q8. What does PEAR mean?

Ans. PEAR stands for “PHP Extension and Application Repository”. PEAR provides a structured library of open-source code to PHP users.

 Q9. What is the difference between PHP 4 and PHP 5? 

Ans. The differences between PHP4 and PHP5 are:

In PHP 4, the Constructor has the same name as the class name. The Constructors are named as _construct and Destructors are named as _destruct().
Objects are passed by value. All objects are passed by references.
It does not declare a class or method as abstract. Allows to have static Methods and Properties in a class
It doesn’t have static methods and properties in a class. Static methods are available. 
Don’t have exception handling. Introduces exception handling.
No new default extensions. It has new default extensions: XML, DOM, XSL, etc.
PHP 4 does not support the OOPs concept and Zend engine 1 is used. PHP 5 supports the OOPs concept and Zend engine 2 is used.
Memory consumption is more. Consumption of memory is less.

 Q10. What is the difference between echo and print?

Ans. Both echo and print methods are used to print the output in the browser, but the difference between them is echo does not return any value after printing the output, and it is also faster than the print method. The print method is slower because it returns the Boolean value after printing the output.


  • echo “PHP Developer”;
  • $n = print “Java Developer”;

Also Read: Top Python Interview Questions and Answers

Q11. How can we execute PHP script using the command line?

Ans. PHP command is used in the command line to execute a PHP script. If you are using the file name, i.e. test.php the php test.php command is used to run the script from the command line.

Q12. Mention the popular Content Management Systems (CMS) in PHP?

Ans. Following are some popular Content Management Systems (CMS):

  • WordPress
  • Shopify
  • Drupal
  • Joomla
  • Wix
  • Magento

Q13. How to declare an array?

Ans. There are three types of arrays that you can declare i.e. numeric, multidimensional and associative arrays.

      1. //Numeric


      1. $computer = array(“Dell”,

“Lenovo”, “HP”);

      1. //Associative


      1. $color = array(“Sithi”=>”Red”,

“Amit”=>”Blue”, “Mahek”=>”Green”);

      1. //Multidimensional


      1. $courses = array ( array(“PHP”,50),

array(“JQuery”,15), array(“AngularJS”,20) );

Q14. Mention some of the constants in PHP and their purpose?

Ans. Following are some constants:

  • _LINE_: The current line number of the file.
  • _FILE_: It represents the full path and file name of the file. If used inside an include, it will return the name of the included file.
  • _FUNCTION_: It returns the function name.
  • _CLASS_: It returns the class name as it was declared.
  • _METHOD_: It represents the method of the class.

Planning to learn PHP? Read our blog – Learn PHP: Courses To Jumpstart Your Programming Career

Q15. Explain the uses of explode() and implode() function?

Ans. The explode() function is used to split by a specified string into pieces i.e. it breaks a string into an array.

Example: If you have a string

$str = “JOHN”:

Now, divide string into an array

$arr = explode(“,”, $str);

“,” will separate the string into an array

And put the resulting array into the variable “arr”

Use print_r ($arr); to print the array


[0] => J

[1] =>O

[2] => H

[3] => N


which is equal to:

$arr = Array (“J”,”O”,”H”,”N”)

An implode() function is used to join the elements of an array to string. It returns a string from an array and it is remembered as “array to string”

Take an array like this $arr = Array (“J”,”O”,”H”,”N”);

Convert it into a string by putting the separator ‘-‘ between each element of the array.

$str = implode(“-“,$arr);

So your resulting string variable $str will contain:



$text = “She is beautiful”;

print_r (explode(” “,$text));

$strarr = array(‘Pen’,’Pencil’,’Eraser’);

echo implode(” “,$strarr);

Q16. Explain the PHP $ and $$ variables?

Ans. The “$” variable is a standard variable that stores any value such as string, float, integer, etc.

The “$$” variable is used to store the value of $variable inside it.





echo $name. “<br>”;

echo ${$name}. “<br>”;

echo $Cat. “<br>”;

echo ${${$name}}. “<br>”;

echo $Dog. “<br>”;








Q17. Explain the difference between GET and POST methods?

Ans. There are two ways to send information via browser client to the web server:

  • The GET method
  • The POST method
GET method POST method
  1. The GET method produces a long string that appears in the server log
  2. It is restricted to send only 1024 characters
  3. It is not used to send binary data such as word document or images to the server
  4. $_GET is used to access all the sent information using GET method
  1. The POST method has no restriction to any data size to be sent
  2. It can be used to send both binary data as well as ASCII data
  3. In this method, security depends on the HTTP protocol because the data sent by the POST method goes through an HTTP header.
  4. $_POST associative array is provided by the PHP to access all the sent information using POST method

Q18. Explain type casting and type juggling?

Ans. Type casting is defined as the assigning particular type of data type to the variable.


$foo = ‘1’;

echo gettype($foo); // outputs ‘string’

settype($foo, ‘integer’);

echo gettype($foo); // outputs ‘integer’

In type juggling the variable type is changing automatically with the value assigned to the variable, as PHP does not support variable declaration.



$foo = “0”; // $foo is string (ASCII 48)

$foo += 2; // $foo is now an integer (2)

$foo = $foo + 1.3; // $foo is now a float (3.3)


Wondering which is better to learn between Python and Java? Read our blog  – Python Vs Java

Q19. Can you extend a Final defined class?

Ans. No, You cannot extend Final method. The final class prevents child class and method overloading.

Example of Final method:


class ParentClass {

public function test() {

echo “ParentClass::test() called\n”;


final public function moreTesting() {

echo “ParentClass::moreTesting() called\n”;



class ChildClass extends ParentClass {

public function moreTesting() {

echo “ChildClass::moreTesting() called\n”;



// Results in Fatal error: Cannot override final method ParentClass::moreTesting()


Q20. How to make a connection with MY SQL server?

Ans.  If you want to make a connection with MS SQL server, then you have to provide MS SQL hostname, username, and password in mysqli_connect() method.



$serverName = “serverName\\sqlexpress”; //serverName\instanceName

$connectionInfo = array( “Database”=>”dbName”, “UID”=>”userName”, “PWD”=>”password”);

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {

echo “Connection established.<br />”;


echo “Connection could not be established.<br />”;

die( print_r( sqlsrv_errors(), true));



Q21. Explain the difference between mysqli_connect and mysqli_pconnect?

Ans. mysqli_connect () function looks for the existing persistence connection, and if it does not find the existing connection, then it will create a new database connection and terminate the connection at the end of the script.


$DBconnection = mysqli_connect(“localhost”,”username”,”password”,”dbname”);

// Check for valid connection

if (mysqli_connect_errno())


echo “Unable to connect with MySQL: ” . mysqli_connect_error();


mysqli_pconnect() function is diminished in the new version of PHP but it is possible to create a persistent connection by using mysqli_connect() function with the prefix p.

Q22. How do we access the data transfer through the URL with the POST method?

Ans. To access the data transfer through the URL, we need to use the $_POST array.

Let’s assume we have a form field named ‘var’ on the form when the user clicks submit to the post form, then it is easy to access the value:


Q23. What is the process to check if a given variable is empty?

Ans. We can use the empty() function to check whether a variable is empty or not.

Check out the Top JavaScript Interview Questions and Answers

Q24. Explain the unlink() function in PHP?

Ans. The unlink() function is used for file system handling. It also deletes the file started as the entry.

Q25. Explain what does the unset() function mean?

Ans. The unset() function is introduced for variable management. It helps to make a variable undefined.

Q26. What is the process to automatically run off incoming data?

Ans. If we want to run off incoming data automatically, We have to allow the Magic quotes entry in the configuration file of PHP.

Q27. Describe what does the function get_magic_quotes_gpc() means?

Ans. In PHP, the function get_magic_quotes_gpc() is used to describes us whether the magic quotes is switched on or not.

Q28. Can we remove the HTML tags from data?

Ans. Yes, we can, the strip_tags() function allows us to clean a string from the HTML tags.

Q29. What is the procedure to cast types in PHP?

Ans. The name of the output type has to be defined in parentheses before the variable, which is to be cast as follows:

* (int), (integer) – cast to integer

* (bool), (boolean) – cast to boolean

* (float), (double), (real) – cast to float

* (object) – cast to object

* (array) – cast to array

* (string) – cast to string

Q30. If the variable $var0 contains the value 500 and the $var1 is set to the character var0, what’s the value of $$var1?

Ans. $$var1 contains the value 500.

Q31. Explain what does accessing a class via :: means?

Ans. In PHP, :: is used to access static methods where object initialization is not required.

Also Read: Top Java Interview Questions and Answers

Q32. In PHP, objects use passed by value or passed by reference?

Ans. Objects used passed by value in PHP.

Q33. Which given code works faster?

Ans. Combining two variables as follows:

$variable1 = ‘Naukri’;

$variable2 = ‘Learning’;

$variable3 = $variable1.$variable2;


$variable3 = “$variable1$variable2”;

$variable3 will contain “Naukri Learning”. The first code works faster than the second code.

Q34. What is the possible way to generate a session id?

Ans. We can generate a session id using cookies or URL parameters.

Q35. Explain what Persistent Cookie is?

Ans. In PHP, a persistent cookie is gathered in a cookie file on the browser’s computer. Cookies are automatically stored and deleted while we close browse.

Q36. At what phase sessions end in PHP?

Ans. Sessions end automatically when the PHP script completed with execution but can be manually ended using the session_write_close().

Q37. Explain what $GLOBALS is?

Ans. In PHP, $GLOBALS is an associative array including references to all variables which are currently defined in the global scope of the script.

Q38. What does $_SERVER mean?

Ans. $_SERVER is an array, including data created by the webserver such as paths, headers, and script locations.

Q39. What does $_FILES mean?

Ans. $_FILES is an associative array composed of items sent to the current script via the HTTP POST method.

Q40. How do you execute a PHP script from the command line?

Ans. By using the command-line interface (CLI) and specify the file name that is to be executed.

Syntax: php script.php

Explore the 10 Most-Popular Programming Languages

Q41. What is the difference between static and dynamic websites?

Ans. Static web pages are written in HTML, JavaScript, CSS, etc. In static web pages, when a server sends a request to the web page the server sends the response to the client. After that, the web pages are visible through the web browser. In static web pages, the web pages are still the same until somebody changes it manually.

Dynamic pages are written in languages such as AJAX, ASP.NET, CGI, etc. There are different content for different visitors on dynamic pages. They are a bit complicated as compared to static pages, as information changes frequently in dynamic pages.

Q42. How can we create a database using PHP and MySQL?

Ans. Following are the steps a database using PHP and MySQL:

  1. Establish a connection to the MySQL server from the PHP script.
  2. Write a SQL query to create a database and store it in a string variable.
  3. Execute the query.

Q43. What are the different PHP array functions?

Ans. Some of the PHP array functiona are mentioned below: 

Array Functions Description
array() Creates an array
array_diff() Compares arrays and returns the differences in the values
array_reverse() Reverses an array
array_keys() Returns all the keys of the array
array_search() Searches a value and returns the corresponding key
array_reduce() Returns an array as a string, using a user-defined function
array_sum() Sums all the values of an array
array_push() Inserts one or more elements to the end of an array
array_pop() Deletes the last element of an array
array_replace() Replaces the values of the first array with the values from the following arrays
compact() Create an array containing variables and their values
current() Returns the current element in an array
end() Sets the internal pointer of an array to its last element
range() Creates an array containing a range of elements

Q44. Explain the use of break and continue statement.

Ans. The Break statement terminates the for loop or switch statement and transfers execution to the statement immediately following the for loop or switch. The Continue statement breaks one iteration in the loop, if a specified condition occurs, and continues with the next iteration in the loop.

Q45. Explain the difference between the functions strstr() and stristr().

Ans. Both the functions, strstr() and stristr() are used to search a string inside another string. The difference between them is that stristr() is case-insensitive whereas strstr() is case-sensitive.

strstr() Function: (case-sensitive)


strstr( $string, $search, $before )

stristr() Function: (case-insensitive)


stristr( $string, $search, $before )

Q46. What are the rules to determine the “truth” of any value which is not already of the Boolean type?

Ans. Below are the rules to determine the “truth” of any value which is not already of the Boolean type:

  • If the value is a number, it is false if it is exactly equal to zero. It will be true otherwise.
  • If the value is a string, it is false if the string is empty or if the string is “0”, and is true otherwise.
  • Do not use double as Booleans.
  • Values of type NULL are always false.
  • If the value is an array, it is false if it contains no other values, and it is true otherwise. 
  • Valid resources are true. However, some functions that return resources when they are successful will return False when unsuccessful.

Check out the Top Universities Offering Free Online Programming Courses 

Q47. What is the difference between a single quoted string and a double quoted string?

Ans. The single quoted strings are treated almost literally. It can be used when you want the string to be exactly as it is written. All the escape sequences like \r or \n will be output as specified instead of having any special meaning. 

On the other hand, double quoted strings replace variables with their values as well as interpret certain character sequences. By using Double quotes, the PHP code is forced to evaluate the whole string. It allows you to include variables directly within the string.  

Program 1: Single quoted strings

The below program illustrates the Single quoted strings:


echo ‘This is a single quoted string’;



This is a single quoted string

Program 2: Double quoted strings

The below program illustrates the Double quoted strings:


  echo “This is a double quoted string”;


  // Variables are included directly

$string = ‘ABC’;

echo “The word is $string”;



This is a double quoted string

The word is ABC

Q48. What is the difference between PHP and ASP.NET?

Ans. The differences between PHP andASP.NET are:

It is a server-side programming language supported by Community and Zend technology. ASP.NET is a web application framework supported by Microsoft.
The base language is C language. The base language is Visual basic syntax language.
It is more focused on client-facing user interfaces. ASP.NET is focused on security and functionality.
It is interpreted code. The code is compiled.
PHP is open-source and freely available over the web.  It has a license cost associated with it.
Allows customization. Less prone to customization.


If you have recently completed a professional course/certification, click here to submit a review and get FREE certification highlighter worth Rs. 500.

5.00 avg. rating (98% score) - 3 votes