Top PHP7 Interview Questions And Answers for Freshers & Experienced

This article shows up top frequently asked PHP7 interview questions and answers for PHP Developers, This list of PHP interview questions and answers will be helpful for PHP programmers.

Top PHP7 Interview Questions And Answers for Freshers & Experienced

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 – How to achieve Multilevel inheritance in PHP7?

//base class
class a{}

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

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

Question #3 – 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 #4 – 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 #5 – What type of inheritance supports by PHP7?

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 #6 – How do you call a constructor for a parent class?


Question #7 – 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 #8- 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 #9- 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 #10 – What is Final Keyword in PHP7?

PHP7 introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final keyword.

Question #11 – 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 #12 – How to set header in CURL?

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

Question #13 – What are different type of sorting functions in PHP7?

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 #14 – 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 #15 – 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 #16 – How we can retrieve the data in the result set of MySQL using PHP7?

  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_object()
  • mysqli_fetch_assoc()

Question #17 – 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 #18 – 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 #19 – What is the use of mysqli_real_escape_string() function?

mysqli_real_escape_string() function mainly used to escapes special characters in a string for use in an SQL statement

Question #20 – 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 #21 – How to create a text file in php7?

$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 testn” );
fclose( $file );

Question #22 – 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 #23 – What is output of following?

$a = '10';
$b = &$a;

$b = "2$b";

echo $a;
echo $b;



Question #24 – What are Traits?

Traits are a mechanism that allows you to create reusable code in PHP7 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 #25 – How to extend a class defined with Final?

No, You can’t extend. A class declare with final keyword can’t be extend.

Question #26 – What is full form of PSRs?

PHP Standards Recommendations. 

Question #27 – How do you execute a PHP script from the command line?

  • Get the php.exe path from server (My PHP path is : D:wampbinphpphp5.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 #28 – What is stdClass in PHP7?

It is PHP7 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 #29 – How to start displaying errors in PHP7 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 #30 – 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 #31 – 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 self::$staticMember;

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

Related Articles & Comments

Leave a Comment

Your email address will not be published. Required fields are marked *