PHP Interview Questions. This is
most frequently asked interview question for
fresher and Experienced top 100 Interview Questions which cn help you to crack interview as Fresher and Expeirnced PHP programming Developer.
1) What is PHP?
·
PHP is
an acronym for "PHP: Hypertext Pre-processor"
·
PHP is
a widely-used, open source scripting language
·
PHP
scripts are executed on the server
·
PHP is
free to download and use
2) What is a PHP File?
·
PHP
files can contain text, HTML, CSS, JavaScript, and PHP code
·
PHP
code are executed on the server, and the result is returned to the browser as
plain HTML
·
PHP
files have extension ".php"
3) Why PHP?
·
PHP
runs on various platforms (Windows, Linux, UNIX, Mac OS X, etc.)
·
PHP is
compatible with almost all servers used today (Apache, IIS, etc.)
·
PHP
supports a wide range of databases
·
PHP is
free. Download it from the official PHP resource: www.php.net
·
PHP is
easy to learn and runs efficiently on the server side
4)
Why PHP is loosely Typed Language?
·
PHP automatically converts the variable to the
correct data type, depending on its value
·
In other languages such as C, C++, and Java, the programmer
must declare the name and type of the variable before using it.
5)
Describe PHP
Variables Scope:
·
In PHP, variables can be declared
anywhere in the script.
·
The scope of a variable is the part of
the script where the variable can be referenced /used.
·
PHP has three different variable
scopes:-
o Local (what
is Local Variable in PHP?)
o Global (what
is Global Variable in PHP?)
o Static (what
is Static Variable in PHP?)
6)
Difference between PHP
echo and print Statements
·
Both are used to output data to
the screen.
·
Echo has no return value while print has a
return value of 1 so it can be used in expressions.
·
Echo can take multiple parameters (although such
usage is rare) while print can take one argument.
·
Echo is marginally faster than print.
7)
Describe following functions in PHP strings used
for?
·
Strl en() - Returns the length of a string.
·
str_word_count() - function counts the number of
words in a string.
·
strrev() - function reverses a string.
·
strpos() - function searches for a specific text
within a string.
·
str_replace() - function replaces some characters
with some other characters in a string
8)
What is PHP Operators?
·
Operators
are used to perform operations on variables and values.
·
PHP
divides the operators in the following groups:
o
Arithmetic
operators
o
Assignment
operators
o
Comparison
operators
o
Increment/Decrement
operators
o
Logical
operators
o
String
operators
o
Array
operators
9)
What is PHP Functions?
·
The real power of
PHP comes from its functions; it has more than 1000 built-in functions.
·
A function is a
block of statements that can be used repeatedly in a program.
·
A function will
not execute immediately when a page loads.
·
A function will
be executed by a call to the function.
10)
What is an Array?
·
An array is a
special variable, which can hold more than one value at a time.
In PHP,
there are three types of arrays:
o
Indexed
arrays -
Arrays with a numeric index
o
Associative
arrays -
Arrays with named keys
o
Multidimensional
arrays -
Arrays containing one or more arrays
11)
What is PHP Global
Variables – Superglobals Variables ?
·
Superglobals
were introduced in PHP 4.1.0, and are built-in variables that are always available
in all scopes
·
Several
predefined variables in PHP are "superglobals", which means that they
are always accessible, regardless of scope
·
And you can
access them from any function, class or file without having to do anything
special.
The PHP superglobal variables are:
·
$GLOBALS
·
$_SERVER
·
$_REQUEST
·
$_POST
·
$_GET
·
$_FILES
·
$_ENV
·
$_COOKIE
·
$_SESSION
12)
How To Avoid $_SERVER["PHP_SELF"]
Exploits?
Exploits can
be avoided by using the htmlspecialchars() function.
13)
What is the $_SERVER["PHP_SELF"]
variable?
The
$_SERVER["PHP_SELF"] is a super global variable that returns the
filename of the currently executing script.
14)
What is htmlspecialchars() function and why
we use it for?
The
htmlspecialchars() function converts special characters to HTML entities. This
means that it will replace HTML characters like < and > with < and
>. This prevents attackers from exploiting the code by injecting HTML or
Javascript code (Cross-site Scripting attacks) in forms.
15)
What is Cross-site scripting (XSS)?
Cross-site
scripting (XSS) is a type of computer security vulnerability typically found in
Web applications. XSS enables attackers to inject client-side script into Web
pages viewed by other users.
16)
What is PHP trim() function?
Strip
unnecessary characters (extra space, tab, newline) from the user input data
17)
What is PHP stripslashes() function?
Used for remove slash
18)
What does PEAR stands for?
PEAR
means “PHP Extension and Application Repository”. It extends PHP and provides a
higher level of programming for web developers.
19)
What
is the actually used PHP version?
Version
5 is the actually used version of PHP.
20)
How
do you execute a PHP script from the command line?
Just
use the PHP command line interface (CLI) and specify the file name of the
script to be executed as follows: php script.php
21)
What are the correct and the
most two common way to start and finish a PHP block of code?
The
two most common ways to start and finish a PHP script are: <?php [
— PHP code—- ] ?> and <? [— PHP code —] ?>
22)
How can we display the output
directly to the browser?
To
be able to display the output directly to the browser, we have to use the
special tags <?= and ?>.
23)
What is the main difference
between PHP 4 and PHP 5?
PHP
5 presents many additional OOP (Object Oriented Programming) features.
24)
Is multiple inheritances
supported in PHP?
PHP
includes only single inheritance, it means that a class can be extended from
only one single class using the keyword ‘extended’.
25)
What is the meaning of a final
class and a final method?
‘final’
is introduced in PHP5. Final class means that this class cannot be extended and
a final method cannot be overrided.
26)
How comparison of objects is
done in PHP5?
We
use the operator ‘==’ to test is two object are instanced from the same class
and have same attributes and equal values. We can test if two object are
refering to the same instance of the same class by the use of the identity
operator ‘===’.
27)
How can PHP and HTML interact?
It
is possible to generate HTML through PHP scripts, and it is possible to pass
informations from HTML to PHP.
28)
What type of operation is needed when passing
values through a form or an URL?
If
we would like to pass values througn a form or an URL then we need to encode
and to decode them using htmlspecialchars() and urlencode().
29)
How can PHP and Javascript interact?
PHP
and Javascript cannot directly interacts since PHP is a server side language
and Javascript is a client side language. However we can exchange variables
since PHP is able to generate Javascript code to be executed by the browser and
it is possible to pass specific variables back to PHP via the URL.
30)
What is needed to be able to use image
function?
GD
library is needed to be able execute image functions.
31)
What is the use of the function
‘imagetypes()’?
imagetypes()
gives the image format and types supported by the current version of GD-PHP.
32)
What are the functions to be used to get the
image’s properties (size, width and height)?
The
functions are getimagesize() for size, imagesx() for width and imagesy() for
height.
33)
How failures in execution are handled with
include() and require() functions?
If
the function require() cannot access to the file then it ends with a fatal
error. However, the include() function gives a warning and the PHP script
continues to execute.
34)
What is the main difference between require()
and require_once()?
Require()
and require_once() perform the same task except that the second function checks
if the PHP script is already included or not before executing it.
(same
for include_once() and include())
35)
How can I display text with a PHP script?
Two
methods are possible:
<!--?php
echo "Method 1"; print "Method 2"; ?-->
36)
How can we display information of a variable
and readable by human with PHP?
To
be able to display a human-readable result we use print_r().
37)
How is it possible to set an infinite
execution time for PHP script?
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.
38)
What does the PHP error ‘Parse error in PHP –
unexpected T_variable at line x’ means?
This
is a PHP syntax error expressing that a mistake at the line x stops parsing and
executing the program.
39)
What should we do to be able to export data
into an Excel file?
The
most common and used way is to get data into a format supported by Excel. For
example, it is possible to write a .csv file, to choose for example comma as
separator between fields and then to open the file with Excel.
40)
What is the function file_get_contents()
usefull for?
file_get_contents()
lets reading a file and storing it in a string variable.
41)
How can we connect to a MySQL database from a
PHP script?
To
be able to connect to a MySQL database, we must use mysql_connect() function as
follows:
<!--?php
$database = mysql_connect("HOST", "USER_NAME",
"PASSWORD"); mysql_select_db("DATABASE_NAME",$database);
?-->
42)
What is the function mysql_pconnect() usefull
for?
mysql_pconnect()
ensure a persistent connection to the database, it means that the connection do
not close when the the PHP script ends.
43)
How the result set of Mysql be handled in PHP?
The
result set can be handled using mysql_fetch_array, mysql_fetch_assoc,
mysql_fetch_object or mysql_fetch_row.
44)
How is it possible to know the number of rows
returned in result set?
The
function mysql_num_rows() returns the number of rows in a result set.
45)
Which function gives us the number of affected
entries by a query?
mysql_affected_rows()
return the number of entries affected by an SQL query.
46)
What is the difference between
mysql_fetch_object() and mysql_fetch_array()?
The
mysql_fetch_object() function collects the first single matching record where
mysql_fetch_array() collects all matching records from the table in an array.
47)
How can we access the data sent through the
URL with the GET method?
In
order to access the data sent via the GET method, we you use $_GET array like
this:
www.url.com?var=value
$variable = $_GET[“var”]; this will now contain ‘value’
48)
How can we access the data sent through the
URL with the POST method?
To
access the data sent this way, you use the $_POST array.
Imagine
you have a form field called ‘var’ on the form, when the user clicks submit to
the post form, you can then access the value like this:
$_POST[“var”];
49)
How can we check the value of a given variable
is a number?
It
is possible to use the dedicated function, is_numeric() to check whether it is
a number or not.
50)
How can we check the value of a given variable
is alphanumeric?
It is possible to use the dedicated function,
ctype_alnum to check whether it is an alphanumeric value or not.
51)
How do
I check if a given variable is empty?
If we want to check whether a variable has a value or
not, it is possible to use the empty() function.
39) What does the unlink()
function means?
The unlink() function is dedicated for file system
handling. It simply deletes the file given as entry.
40) What does the unset()
function means?
The unset() function is dedicated for variable
management. It will make a variable undefined.
41) How do I escape data before
storing it into the database?
addslashes function enables us to escape data before
storage into the database.
42) How is it possible to
remove escape characters from a string?
The stripslashes function enables us to remove the
escape characters before apostrophes in a string.
43) How can we automatically
escape incoming data?
We have to enable the Magic quotes entry in the
configuration file of PHP.
44) What does the function
get_magic_quotes_gpc() means?
The function get_magic_quotes_gpc() tells us whether
the magic quotes is switched on or no.
45) Is it possible to remove
the HTML tags from data?
The strip_tags() function enables us to clean a string
from the HTML tags.
46) what is the static variable
in function useful for?
A static variable is defined within a function only
the first time and its value can be modified during function calls as follows:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1
testFunction(); //2
testFunction(); //3 ?-->
47) How can we define a
variable accessible in functions of a PHP script?
This feature is possible using the global keyword.
48) How is it possible to
return a value from a function?
A function returns a value using the instruction
‘return $value;’.
49) What is the most convenient
hashing method to be used to hash passwords?
It is preferable to use crypt() which natively
supports several hashing algorithms or the function hash() which supports more
variants than crypt() rather than using the common hashing algorithms such as
md5, sha1 or sha256 because they are conceived to be fast. hence, hashing
passwords with these algorithms can vulnerability.
50) Which cryptographic
extension provide generation and verification of digital signatures?
The PHP-openssl extension provides several
cryptographic operations including generation and verification of digital signatures.
51) How a constant is defined
in a PHP script?
The define() directive lets us defining a constant as
follows:
define (“ACONSTANT”, 123);
52) How can you pass a variable
by reference?
To be able to pass a variable by reference, we use an
ampersand in front of it, as follows $var1 = &$var2
53) Will a comparison of an
integer 12 and a string “13” work in PHP?
“13” and 12 can be compared in PHP since it casts
everything to the integer type.
54) How is it possible to cast
types in PHP?
The name of the output type have to be specified 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
* (string) – cast to string
* (array) – cast to array
* (object) – cast to object
55) When a conditional
statement is ended with an endif?
When the original if was followed by : and then the
code block without braces.
56) How is the ternary
conditional operator used in PHP?
It is composed of three expressions: a condition, and
two operands describing what instruction should be performed when the specified
condition is true or false as follows:
Expression_1 ? Expression_2 : Expression_3;
57) What is the function
func_num_args() used for?
The function func_num_args() is used to give the
number of parameters passed into a function.
58) If the variable $var1 is
set to 10 and the $var2 is set to the character var1, what’s the value of
$$var2?
$$var2 contains the value 10.
59) What does accessing a class
via :: means?
:: is used to access static methods that do not
require object initialization.
60) In PHP, objects are they
passed by value or by reference?
In PHP, objects passed by value.
61) Are Parent constructors
called implicitly inside a class constructor?
No, a parent constructor have to be called explicitly
as follows:
parent::constructor($value)
62) What’s the difference
between __sleep and __wakeup?
__sleep returns the array of all the variables that
need to be saved, while __wakeup retrieves them.
63) What is faster?
1- Combining two variables as follows:
$variable1 = ‘Hello ‘;
$variable2 = ‘World’;
$variable3 = $variable1.$variable2;
Or
2- $variable3 = “$variable1$variable2”;
$variable3 will contain “Hello World”. The first code is
faster than the second code especially for large large sets of data.
64) what is the definition of a
session?
A session is a logical object enabling us to preserve
temporary data across multiple PHP pages.
65) How to initiate a session
in PHP?
The use of the function session_start() lets us
activating a session.
66) How is it possible to
propagate a session id?
It is possible to propagate a session id via cookies
or URL parameters.
67) What is the meaning of a
Persistent Cookie?
A persistent cookie is permanently stored in a cookie
file on the browser’s computer. By default, cookies are temporary and are
erased if we close the browser.
68) When sessions ends?
Sessions automatically ends when the PHP script
finishs executing, but can be manually ended using the session_write_close().
69) What is the difference
between session_unregister() and session_unset()?
The session_unregister() function unregister a global
variable from the current session and the session_unset() function free all
session variables.
70) What does $GLOBALS means?
$GLOBALS is associative array including references to
all variables which are currently defined in the global scope of the script.
71) What does $_SERVER means?
$_SERVER is an array including information created by
the web server such as paths, headers, and script locations.
72) What does $_FILES means?
$_FILES is an associative array composed of items sent
to the current script via the HTTP POST method.
73) What is the difference
between $_FILES[‘userfile’][‘name’] and $_FILES[‘userfile’][‘tmp_name’]?
$_FILES[‘userfile’][‘name’] represents the original
name of the file on the client machine,
$_FILES[‘userfile’][‘tmp_name’] represents the
temporary filename of the file stored on the server.
74) How can we get the error
when there is a problem to upload a file?
$_FILES[‘userfile’][‘error’] contains the error code
associated with the uploaded file.
75) How can we change the
maximum size of the files to be uploaded?
We can change the maximum size of files to be uploaded
by changing upload_max_filesize in php.ini.
76) What does $_ENV means?
$_ENV is an associative array of variables sent to the
current PHP script via the environment method.
77) What does $_COOKIE means?
$_COOKIE is an associative array of variables sent to
the current PHP script using the HTTP Cookies.
78) What does the scope of
variables means?
The scope of a variable is the context within which it
is defined. For the most part all PHP variables only have a single scope. This
single scope spans included and required files as well.
79) what the difference between
the ‘BITWISE AND’ operator and the ‘LOGICAL AND’ operator?
$a and $b: TRUE if both $a and $b
are TRUE.
$a & $b:
Bits that are set in both $a and $b are set.
80) What are the two main
string operators?
The first is the concatenation operator (‘.’), which
returns the concatenation of its right and left arguments. The second is
(‘.=’), which appends the argument on the right to the argument on the left.
81) What does the array
operator ‘===’ means?
$a === $b TRUE if $a and $b have the same key/value
pairs in the same order and of the same types.
82) What is the differences
between $a != $b and $a !== $b?
!= means inequality (TRUE if $a is not equal to $b)
and !== means non-identity (TRUE if $a is not identical to $b).
83) How can we determine
whether a PHP variable is an instantiated object of a certain class?
To be able to verify whether a PHP variable is an
instantiated object of a certain class we use instanceof.
84) What is the goto statement
useful for?
The goto statement can be placed to enable jumping
inside the PHP program. The target is pointed by a label followed by a colon,
and the instruction is specified as a goto statement followed by the desired
target label.
85) what is the difference
between Exception::getMessage and Exception::getLine ?
Exception::getMessage lets us getting the Exception
message and Exception::getLine lets us getting the line in which the exception
occurred.
86) What does the expression
Exception::__toString means?
Exception::__toString gives the String representation
of the exception.
87) How is it possible to parse
a configuration file?
The function parse_ini_file() enables us to load in
the ini file specified in filename, and returns the settings in it in an
associative array.
88) How can we determine
whether a variable is set?
The boolean function isset determines if a variable is
set and is not NULL.
89) What is the difference
between the functions strstr() and stristr()?
The string function strstr(string allString, string
occ) returns part of allString from the first occurrence of occ to the end of
allString. This function is case-sensitive. stristr() is identical to strstr()
except that it is case insensitive.
90) what is the difference
between for and foreach?
for is expressed as follows:
for (expr1; expr2; expr3)
statement
The first expression is executed once at the
beginning. In each iteration, expr2 is evaluated. If it is TRUE, the loop
continues and the statements inside for are executed. If it evaluates to FALSE,
the execution of the loop ends. expr3 is tested at the end of each iteration.
However, foreach provides an easy way to iterate over
arrays and it is only used with arrays and objects.
91) Is it possible to submit a
form with a dedicated button?
It is possible to use the document.form.submit()
function to submit the form. For example: <input type=button value=”SUBMIT”
onClick=”document.form.submit()”>
92) What is the difference
between ereg_replace() and eregi_replace()?
The function eregi_replace() is identical to the
function ereg_replace() except that it ignores case distinction when matching
alphabetic characters.
93) Is it possible to protect
special characters in a query string?
Yes, we use the urlencode() function to be able to
protect special characters.
94) What are the three classes
of errors that can occur in PHP?
The three basic classes of errors are notices
(non-critical), warnings (serious errors) and fatal errors (critical errors).
95) What is the difference
between characters \034 and \x34?
\034 is octal 34 and \x34 is hex 34.
96) How can we pass the
variable through the navigation between the pages?
It is possible to pass the variables between the PHP
pages using sessions, cookies or hidden form fields.
97) Is it possible to extend
the execution time of a php script?
The use of the set_time_limit(int seconds) enables us
to extend the execution time of a php script. The default limit is 30 seconds.
98) Is it possible to destroy a
cookie?
Yes, it is possible by setting the cookie with a past
expiration time.
99) What is the default session
time in php?
The default session time in php is until closing of
browser
100) Is it possible to use COM
component in PHP?
Yes, it’s possible to integrate (Distributed)
Component Object Model components ((D)COM) in PHP scripts which is provided as
a framework.
This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
ReplyDeleteDot Net Coaching Centers in Chennai
Manual Testing Training in Chennai
Core Java Training in Chennai
Best PHP Course in Chennai