Thursday, December 21, 2017


Top 35 PHP Interview Questions and Answers for 5 year experience

This article shows top 35 frequently asked PHP interview questions and answers for 5 years experienced PHP Developer, This list of PHP interview questions and answers will be helpful for PHP 5 experienced developer.

Question #1 - How array_walk function works in PHP?

It is used to update the elements/index of original array.
How: in array_walk, two parameter are required. 
  1. original array
  2. An callback function, with use of we update the array. 
Question #2 - What is the difference between $message and $$message?

They are both variables But $message is a variable with a fixed name. $$message is a variable whose name is stored in $message. For example, if $message contains "var", $$message is the same as $var.
Question #3 - How to achieve Multilevel inheritance in PHP?

//base class
class a{}

//parent class extend the base class
class bextends a{}

//chid class extend the parent class
class c extends b{}

Question #4 - How to get 2nd highest salary of employee, if two employee may have same salary?

select salary from employee group by salary order by salary limit 1,1

Question #5 - require_once(), require(), include().What is difference between them?

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.
Question #6 - What type of inheritance supports by PHP?

There are following type of inheritance 

  • Single Inheritance - Support by PHP
  • Multiple Inheritance - Not support
  • Hierarchical Inheritance - Support by PHP
  • Multilevel Inheritance - Support by PHP
Question #7 - How do you call a constructor for a parent class?

Question #8 - How to find duplicate email records in users table?

SELECT u1.first_name, u1.last_name, FROM users as u1
    SELECT email FROM users GROUP BY email HAVING count(id) > 1
    ) u2 ON =;

Question #9 - What are default session time and path?

Session Time: 1440 seconds
Session Path: /tmp folder in server

Question #10 - What is the difference between Session and Cookie?
Both are used to store user information on server. The main difference between sessions and cookies is that sessions are stored on the server, and cookies are stored on the user's computers in the text file format. Cookies can't hold multiple variable while session can hold multiple variables..We can set expiry for a cookie,The session only remains active as long as the browser is open.Users do not have access to the data you stored in Session,Since it is stored in the server.Session is mainly used for login/logout purpose while cookies using for user activity tracking
Question #11 - How to pass data in header while using CURL?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'headerKey: HeaderValue ',
  'Content-Type: application/json',
echo curl_exec($ch);

Question #12 - What is Final Keyword in PHP?

PHP introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final keyword.
Question #13 - How can we prevent SQL-injection in PHP?

Sanitize the user data before Storing in database.
While displaying the data in browser Convert all applicable characters to HTML entities using htmlentities functions.
Question #14 - How to set header in CURL?

curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml")); 

Question #15 - What are different type of sorting functions in PHP?

sort() - sort arrays in ascending order. 
asort() - sort associative arrays in ascending order, according to the value.
ksort() - sort associative arrays in ascending order, according to the key.
arsort() - sort associative arrays in descending order, according to the value.
rsort() - sort arrays in descending order.
krsort() - sort associative arrays in descending order, according to the key.
array_multisort() - sort the multi dimension array.
usort()- Sort the array using user defined function.

Question #16 - How to redirect https to http URL and vice versa in .htaccess?

Redirect https to http
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Redirect http to https

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Question #17 - What are benefits of .htaccess?

  • Routing the URL
  • Mange Error Pages for Better SEO
  • Redirection pages
  • Detect OS (like Mobile/Laptop/Ios/Android etc)
  • Set PHP Config variable
  • Set Environment variable
  • Allow/Deny visitors by IP Address
  • Password protection for File/Directory
  • Optimize Performance of website
  • Improve Site Security 

Question #18 - How we can retrieve the data in the result set of MySQL using PHP?

  • mysql_fetch_row()
  • mysql_fetch_array()
  • mysql_fetch_object()
  • mysql_fetch_assoc()

Question #19 - What is the use of explode() function ?

This function is used to split a string into an array. Syntax : array explode( string $delimiter , string $string [, int $limit ] ); 
Question #20 - What is the difference between explode() and split() functions?

Split function splits string into array by regular expression. Explode splits a string into array by string.
Both function are used to breaks a string into an array, the difference is that Split() function breaks split string into an array by regular expression and explode() splits a string into an array by string. explode() is faster than split() because it does not match the string based on regular expression.  
Question #21 - What is the use of mysql_real_escape_string() function?

mysql_real_escape_string() function mainly used to escapes special characters in a string for use in an SQL statement
Question #22 - Write down the code for save an uploaded file in php.

if ($_FILES["file"]["error"] == 0)
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
Question #23 - How to create a text file in php?

$filename = "/home/user/guest/newfile.txt";
$file = fopen( $filename, "w" );
if( $file == false )
echo ( "Error in opening new file" ); exit();
fwrite( $file, "This is a simple test\n" );
fclose( $file );
Question #24 - How to strip whitespace (or other characters) from the beginning and end of a string ?

We can use trim() function to remove whitespaces or other predefined characters from both sides of a string.
Question #25 - What is output of following?
$a = '10';
$b = &$a;

$b = "2$b";

echo $a;
echo $b;



Question #26 - What are Traits?

Traits are a mechanism that allows you to create reusable code in PHP where multiple inheritance is not supported. To create a Traits we use keyword trait

Example of Traits
trait users {
    function getUserType() { }
    function getUserDescription() {  }
    function getUserDelete() {  }

class ezcReflectionMethod extends ReflectionMethod {
    use users;    

class ezcReflectionFunction extends ReflectionFunction {
    use users;

Question #27 - How to extend a class defined with Final?

No, You can't extend. A class declare with final keyword can't be extend.
Question #28 - What is full form of PSRs?

PHP Standards Recommendations. 
Question #29 - How do you execute a PHP script from the command line?

  • Get the php.exe path from server (My PHP path is : D:\wamp\bin\php\php5.5.12)
  • In environment variable, Add this path path under PATH variable.
  • Re-start the computer.
  • Now, you can execute php files from command file.
php index.php

Question #30 - How to repair the session?
REPAIR TABLE tablename 


Read more about the
best programming laptop


Question #31 - 
What is stdClass?

It is PHP generic empty class.
stdClass is used to create the new Object. For Example
$newObj = new stdClass();
$newObj->name='What is your name?';
$newObj->description='Tell me about yourself?';


stdClass Object
    [name] => What is your name?
    [description] => Tell me about yourself?
    [areYouInIndia] => 1

Question #32 - How to start displaying errors in PHP application ?

Add following code in PHP.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

Add following code in .htacess

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag  log_errors on

Question #33 - What is Reference Transaction in Paypal?

In Reference transaction, 
With use of first transaction done by customer, we can do mutiple transaction without need another approvel.
In this, we store the transaction_id(First transaction), and use this transaction_id as reference_id for net payments.

It has two methods.
1) DoDirect payment. (Accept the credit card by website)
2) Express Checkout. (website doesn't accept credit card in own website, customer pay on

Question #34 - What are different type of errors?

E_ERROR: A fatal error that causes script termination.
E_WARNING: Run-time warning that does not cause script termination.
E_PARSE: Compile time parse error.
E_NOTICE: Run time notice caused due to error in code.
E_CORE_ERROR: Fatal errors that occur during PHP's initial startup.
E_CORE_WARNING: Warnings that occur during PHP's initial startup.
E_COMPILE_ERROR: Fatal compile-time errors indication problem with script.
E_USER_ERROR: User-generated error message.
E_USER_WARNING: User-generated warning message.
E_USER_NOTICE: User-generated notice message.
E_STRICT: Run-time notices.
E_RECOVERABLE_ERROR: Catchable fatal error indicating a dangerous error 
E_ALL: Catches all errors and warnings 

Question #35 - When to use self over $this?

Use $this to refer to the current object.
Use self to refer to the current class.

Example of use of $this

class MyClass1 {
    private $nonStaticMember = 'nonStaticMember  member Called.';        
    public function funcName() {
        return $this->nonStaticMember;

$classObj = new MyClass1();
echo $classObj->funcName();//nonStaticMember  member Called.

Example of use of SELF

class MyClass2 {
    private static $staticMember = 'staticMember  member Called.';        
    public function funcName() {
        return $this::$staticMember;

$classObj = new MyClass2();
echo $classObj->funcName(); //staticMember  member Called.

About Author -

Hi, I am Anil.

Welcome to my eponymous blog! I am passionate about web programming. Here you will find a huge information on web development, web design, PHP, Python, Digital Marketing and Latest technology.

Subscribe to this Blog via Email :

Note: Only a member of this blog may post a comment.