Full Stack Web Development Internship Program
- 29k Enrolled Learners
- Weekend/Weekday
- Live Class
PHP is a recursive acronym for PHP Hypertext Preprocessor. It is a widely used open-source programming language especially suited for creating dynamic websites and mobile API’s. So, if you are planning to start your career in PHP and you wish to know the skills related to it, now is the right time to dive in. These PHP Interview Questions and Answers are collected after consulting with PHP Certification Training experts.
The PHP Interview Questions are divided into 2 sections:
Let’s begin with the first section of PHP interview questions.
Uses of PHP |
|
|
|
|
|
PEAR is a framework and repository for reusable PHP components. PEAR stands for PHP Extension and Application Repository. It contains all types of PHP code snippets and libraries. It also provides a command line interface to install “packages” automatically.
Static Websites | Dynamic Websites |
In static websites, content can’t be changed after running the script. You cannot change anything in the site as it is predefined. | In dynamic websites, content of script can be changed at the run time. Its content is regenerated every time a user visits or reloads. |
To execute a PHP script, use the PHP Command Line Interface (CLI) and specify the file name of the script in the following way:
php script.php
PHP is partially case sensitive. The variable names are case-sensitive but function names are not. If you define the function name in lowercase and call them in uppercase, it will still work. User-defined functions are not case sensitive but the rest of the language is case-sensitive.
The PHP parsing engine needs a way to differentiate PHP code from other elements in the page. The mechanism for doing so is known as ‘escaping to PHP’. Escaping a string means to reduce ambiguity in quotes used in that string.
Some of the important characteristics of PHP variables include:
There are 8 data types in PHP which are used to construct the variables:
The following rules are needed to be followed while naming a PHP variable:
The rules to determine the “truth” of any value which is not already of the Boolean type are:
NULL is a special data type which can have only one value. A variable of data type NULL is a variable that has no value assigned to it. It can be assigned as follows:
$var = NULL;
The special constant NULL is capitalized by convention but actually it is case insensitive. So,you can also write it as :
$var = null;
A variable that has been assigned the NULL value, consists of the following properties:
To define a constant you have to use define() function and to retrieve the value of a constant, you have to simply specifying its name.If you have defined a constant, it can never be changed or undefined. There is no need to have a constant with a $. A valid constant name starts with a letter or underscore.
The constant() function will return the value of the constant. This is useful when you want to retrieve value of a constant, but you do not know its name, i.e., it is stored in a variable or returned by a function. For example –
<?php define("MINSIZE", 50); echo MINSIZE; echo constant("MINSIZE"); // same thing as the previous line ?>
Constants | Variables |
There is no need to write dollar ($) sign before a constant | A variable must be written with the dollar ($) sign |
Constants can only be defined using the define() function | Variables can be defined by simple assignment |
Constants may be defined and accessed anywhere without regard to variable scoping rules. | In PHP, functions by default can only create and access variables within its own scope. |
Constants cannot be redefined or undefined. | Variables can be redefined for each path individually. |
Break – It terminates the for loop or switch statement and transfers execution to the statement immediately following the for loop or switch.
Continue – It causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.
The two most common ways to start and finish a PHP block of code are:
<?php [ --- PHP code---- ] ?>
<? [--- PHP code ---] ?>
PHP4 | PHP5 |
|
|
|
|
|
|
|
|
The final keyword in a method declaration indicates that the method cannot be overridden by subclasses. A class that is declared final cannot be subclassed. This is particularly useful when we are creating an immutable class like the String class.Properties cannot be declared final, only classes and methods may be declared as final.
We use the operator ‘==’ to test if two objects are instanced from the same class and have same attributes and equal values. We can also test if two objects are referring to the same instance of the same class by the use of the identity operator ‘===’.
PHP and Javascript cannot directly interact since PHP is a server side language and Javascript is a client-side language. However, we can exchange variables since PHP can generate Javascript code to be executed by the browser and it is possible to pass specific variables back to PHP via the URL.
It is possible to generate HTML through PHP scripts, and it is possible to pass pieces of information from HTML to PHP. PHP is a server side language and HTML is a client side language so PHP executes on server side and gets its results as strings, arrays, objects and then we use them to display its values in HTML.
Some of the popular frameworks in PHP are:
PHP support 9 primitive data types:
Scalar Types | Compound Types | Special Types |
|
|
|
PHP constructor and destructor are special type functions which are automatically called when a PHP class object is created and destroyed. The constructor is the most useful of the two because it allows you to send parameters along when creating a new object, which can then be used to initialize variables on the object.
Here is an example of constructor and destructor in PHP:
<?php class Foo { private $name; private $link; public function __construct($name) { $this->;name = $name; } public function setLink(Foo $link){ $this->;link = $link; } public function __destruct() { echo 'Destroying: ', $this->name, PHP_EOL; } } ?>
The Include() function is used to put data of one PHP file into another PHP file. If errors occur then the include() function produces a warning but does not stop the execution of the script and it will continue to execute.
The Require() function is also used to put data of one PHP file to another PHP file. If there are any errors then the require() function produces a warning and a fatal error and stops the execution of the script.
The require() includes and evaluates a specific file, while require_once() does that only if it has not been included before. The require_once() statement can be used to include a php file in another one, when you may need to include the called file more than once. So, require_once() is recommended to use when you want to include a file where you have a lot of functions.
The different types of error in PHP are:
The foreach statement is used to loop through arrays. For each pass the value of the current array element is assigned to $value and the array pointer is moved by one and in the next pass next element will be processed.
Syntax-
foreach (array as value)
{
code to be executed;
}
Example-
<?php $colors = array("blue", "white", "black"); foreach ($colors as $value) { echo "$value "; } ?>
There are 3 types of Arrays in PHP:
Singly quoted strings are treated almost literally, whereas doubly quoted strings replace variables with their values as well as specially interpreting certain character sequences. For example –
<?php $variable = "name"; $statement = 'My $variable will not print!n'; print($statement); print " ;" $statement = "My $variable will print!n" print($statement); ?>
It will give the following output–
My $variable will not print! My name will print
To concatenate two string variables together, we use the dot (.) operator.
<?php $string1="Hello edureka"; $string2="123"; echo $string1 . " " . $string2; ?>
This will produce following result −
Hello edureka 123
The set_time_limit(0) added at the beginning of a script sets to infinite the time of execution to not have the PHP error ‘maximum execution time exceeded.’ It is also possible to specify this in the php.ini file.
Some of the functions in PHP include:
These were some of the most commonly asked basic level PHP interview questions. Let’s move on to the next section of advanced level PHP interview questions.
PHP is a programming language whereas ASP.NET is a programming framework. Websites developed by ASP.NET may use C#, but also other languages such as J#. ASP.NET is compiled whereas PHP is interpreted. ASP.NET is designed for windows machines, whereas PHP is platform free and typically runs on Linux servers.
A session is a global variable stored on the server. Each session is assigned a unique id which is used to retrieve stored values. Sessions have the capacity to store relatively large data compared to cookies. The session values are automatically deleted when the browser is closed.
Following example shows how to create a cookie in PHP-
<?php $cookie_value = "edureka"; setcookie("edureka", $cookie_value, time()+3600, "/your_usename/", "edureka.co", 1, 1); if (isset($_COOKIE['cookie'])) echo $_COOKIE["edureka"]; ?>
Following example shows how to start a session in PHP-
<?php session_start(); if( isset( $_SESSION['counter'] ) ) { $_SESSION['counter'] += 1; }else { $_SESSION['counter'] = 1; } $msg = "You have visited this page". $_SESSION['counter']; $msg .= "in this session."; ?>
Overloading is defining functions that have similar signatures, yet have different parameters. Overriding is only pertinent to derived classes, where the parent class has defined a method and the derived class wishes to override that method. In PHP, you can only overload methods using the magic method __call.
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.
The basic steps to create MySQL database using PHP are:
The GET method sends the encoded user information appended to the page request. The page and the encoded information are separated by the ? character. For example –
http://www.test.com/index.htm?name1=value1&name2=value2
The POST method transfers information via HTTP headers. The information is encoded as described in case of GET method and put into a header called QUERY_STRING.
GET | POST |
|
|
|
|
|
|
|
|
PHP callback are functions that may be called dynamically by PHP. They are used by native functions such as array_map, usort, preg_replace_callback, etc. A callback function is a function that you create yourself, then pass to another function as an argument. Once it has access to your callback function, the receiving function can then call it whenever it needs to.
Here is a basic example of callback function –
<?php function thisFuncTakesACallback($callbackFunc) { echo "I'm going to call $callbackFunc! "; $callbackFunc(); } function thisFuncGetsCalled() { echo "I'm a callback function! "; } thisFuncTakesACallback( 'thisFuncGetsCalled' ); ?>
A lambda function is an anonymous PHP function that can be stored in a variable and passed as an argument to other functions or methods. A closure is a lambda function that is aware of its surrounding context. For example –
$input = array(1, 2, 3, 4, 5); $output = array_filter($input, function ($v) { return $v > 2; });
function ($v) { return $v > 2; } is the lambda function definition. We can store it in a variable so that it can be reusable.
In PHP all functions starting with __ names are magical functions/methods. These methods, identified by a two underscore prefix (__), function as interceptors that are automatically called when certain conditions are met. PHP provides a number of ‘magic‘ methods that allow you to do some pretty neat tricks in object oriented programming.
Here are list of Magic Functions available in PHP
__destruct() | __sleep() |
__construct() | __wakeup() |
__call() | __toString() |
__get() | __invoke() |
__set() | __set_state() |
__isset() | __clone() |
__unset() | __debugInfo() |
The crypt () function is used to create one way encryption. It takes one input string and one optional parameter. The function is defined as: crypt (input_string, salt), where input_string consists of the string that has to be encrypted and salt is an optional parameter. PHP uses DES for encryption. The format is as follows:
<?php $password = crypt('edureka'); print $password. "is the encrypted version of edureka"; ?>
PHP provides a library called cURL that may already be included in the installation of PHP by default. cURL stands for client URL, and it allows you to connect to a URL and retrieve information from that page such as the HTML content of the page, the HTTP headers and their associated data.
Type hinting is used to specify the expected data type of an argument in a function declaration. When you call the function, PHP will check whether or not the arguments are of the specified type. If not, the run-time will raise an error and execution will be halted.
Here is an example of type hinting–
<?php function sendEmail (Email $email) { $email->send(); } ?>
The example shows how to send Email function argument $email Type hinted of Email Class. It means to call this function you must have to pass an email object otherwise an error is generated.
An exception that occurs at compile time is called a checked exception. This exception cannot be ignored and must be handled carefully. For example, if you use FileReader class to read data from the file and the file specified in class constructor does not exist, then a FileNotFoundException occurs and you will have to manage that exception. For the purpose, you will have to write the code in a try-catch block and handle the exception. On the other hand, an exception that occurs at runtime is called unchecked-exception.
With this, we have come to the end of PHP interview questions blog. I Hope these PHP Interview Questions will help you in your interviews. In case you have attended any PHP interview in the recent past, do paste those interview questions in the comments section and we’ll answer them. You can also comment below if you have any questions in your mind, which you might face in your PHP interview.
If you wish to learn JavaScript and build your own applications, then check out our PHP & MySQL Certification Training which comes with instructor-led live training and real-life project experience. This training will help you become an Edureka certified PHP & MySQL Professional. An online course designed to make you an expert in using PHP & MySQL and learn all that is required to create real world web applications with PHP & MySQL.
Got a question for us? Please mention it in the comments section of “PHP Interview Questions” blog and we will get back to you.
edureka.co
It the best collection of interview questions. Even it is helpful to face interview