PHP Interview Questions

PHP Interview Questions

1) What is PHP?

PHP is a web language based on scripts that allows developers to dynamically create generated web pages.

2) What do the initials of PHP stand for?

PHP means PHP: Hypertext Preprocessor.

3) Which programming language does PHP resemble to?

PHP syntax resembles Perl and C

4) 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.

5) What is the actually used PHP version?

Version 5 is the actually used version of PHP.


6) 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 follow

php script.php


php script.php

7) How to run the interactive PHP shell from the command line interface?

Just use the PHP CLI program with the option -a as follows:

php -a


php -a

 8) 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  —] ?>

9) 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 ?>.

10) What is the main difference between PHP 4 and PHP 5?

PHP 5 presents many additional OOP (Object Oriented Programming) features.

11) 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’.

12) 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 override.

13) 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 ‘===’.

14) How can PHP and HTML interact?

It is possible to generate HTML through PHP scripts, and it is possible to pass information’s from HTML to PHP.

15) What type of operation is needed when passing values through a form or an URL?

If we would like to pass values through a form or an URL then we need to encode and to decode them using htmlspecialchars () and urlencode ().

16) How can PHP and JavaScript interact?

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 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.


17) What is needed to be able to use image function?

GD library is needed to be able execute image functions.

18) What is the use of the function ‘image types ()’?

Image types () gives the image format and types supported by the current version of GD-PHP.

19) 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.

20) 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.

21) 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())

22) How can I display text with a PHP script?

Two methods are possible:

<!--?php echo "Method 1"; print "Method 2"; ?-->


<!--?php echo "Method 1"; print "Method 2"; ?-->

 23) 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().

24) 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.

 25) 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.

26) 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.

27) What is the function file_get_contents() usefull for?

file_get_contents() lets reading a file and storing it in a string variable.

28) 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); ?-->


<!--?php $database = mysql_connect("HOST", "USER_NAME", "PASSWORD"); mysql_select_db("DATABASE_NAME",$database); ?-->

29) 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.

30) 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.

31) 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.


32) 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.

33) 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.

34) 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:

$variable = $_GET[“var”]; this will now contain ‘value’

35) 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:


36) 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.

37) 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.

38) 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 ?-->


<!--?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 has 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:


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;


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 end?

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)


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 �34 and x34?

�34 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.

101) Explain whether it is possible to share a single instance of a Memcache between multiple PHP projects?

Yes, it is possible to share a single instance of Memcache between multiple projects. Memcache is a memory store space, and you can run memcache on one or more servers. You can also configure your client to speak to a particular set of instances. So, you can run two different Memcache processes on the same host and yet they are completely independent. Unless, if you have partitioned your data, then it becomes necessary to know from which instance to get the data from or to put into.

102) Explain how you can update Memcached when you make changes to PHP?

When PHP changes you can update Memcached by

•  Clearing the Cache proactively: Clearing the cache when an insert or update is made

•  Resetting the Cache: It is similar to the first method but rather than just deleting the keys and waiting for the next request for the data to refresh the cache, reset the values after the insert or update.

103)What’s the difference between the include() and require() functions?

They both include a specific file but on require the process exits with a fatal error if the file can’t be included, while include statement may still pass and jump to the next step in the execution.

104) who is known as the father of PHP?

Rasmus Lerdorf


105) What was the old name of PHP?

Personal Home Page.

106) Explain the difference b/w static and dynamic websites?

In static websites, content can't be changed after running the script. You can't change anything in the site. It is predefined.

In dynamic websites, content of script can be changed at the run time. Its content is regenerated every time a user visit or reload. Google, yahoo and every search engine is the example of dynamic website.

) What is the name of scripting engine in PHP?

The scripting engine that powers PHP is called Zend Engine 2.

107) Explain the difference between PHP4 and PHP5.

PHP4 doesn't support oops concept and uses Zend Engine 1.

PHP5 supports oops concept and uses Zend Engine 2.

108) What are the popular Content Management Systems (CMS) in PHP?




Drupal etc.

109) What are the popular frameworks in PHP?



Yii 2


Zend Framework etc.

110) Which programming language does PHP resemble to?

PHP has borrowed its syntax from Perl and C.

111) List some of the features of PHP7.

Scalar type declarations

Return type declarations

Null coalescing operator (??)

Spaceship operator

Constant arrays using define()

Anonymous classes

Closure::call method

Group use declaration

Generator return expressions

Generator delegation

Space ship operator

112) What is "echo" in PHP?

PHP echo output one or more string. It is a language construct not a function. So use of parentheses is not required. But if you want to pass more than one parameter to echo, use of parentheses is required.


void echo ( string $arg1 [, string $... ] ) 

113) What is "print" in PHP?

PHP print output a string. It is a language construct not a function. So use of parentheses is not required with the argument list. Unlike echo, it always returns 1.


int print ( string $arg) 

114) What is the difference between "echo" and "print" in PHP?

Echo can output one or more string but print can only output one string and always returns 1.


Echo is faster than print because it does not return any value.

115) How a variable is declared in PHP?

PHP variable is a name of memory location that holds data. It is a temporary storage.



116) What is the difference between $message and $$message?

$message stores variable data while $$message is used to store variable of variables.

$message stores fixed data whereas the data stored in $$message may be changed dynamically.

117) What are the ways to define a constant in PHP?

PHP constants are name or identifier that can't be changed during execution of the script. PHP constants are defined in two ways:

Using define() function

Using const() function

118) What are magic constants in PHP?

PHP magic constants are predefined constants which changes on the basis of their use. They start with a double underscore (__) and end with a double underscore (__).

119) How many data types are there in PHP?

PHP data types are used to hold different types of data or values. There are 8 primitive data types which are further categorized in 3 types:

Scalar types

Compound types

Special types

120) How to do single and multi line comment in PHP?

PHP single line comment is done in two ways:

Using // (C++ style single line comment)

Using # (Unix Shell style single line comment)

PHP multi line comment is done by enclosing all lines within /* */.

121) What are the different loops in PHP?

For, while, do-while and for each.

122)What will be the output ?

$num =10;

function multiply()

{ $num =$num *10; }


echo $num;

 Output is 10

123) What is the use of header() function in PHP?

The header() function is used to send a raw HTTP header to a client. It must be called before sending the actual output. For example, you can't print any HTML element before using this function.

124) What does isset() function?

The isset() function checks if the variable is defined and not null.

125) Explain PHP parameterized functions.

PHP parameterized functions are functions with parameters. You can pass any number of parameters inside a function. These passed parameters act as variables inside your function. They are specified inside the parentheses, after function name. Output depends upon dynamic values passed as parameters into function.

126) Explain PHP variable length argument function

PHP supports variable length argument function. It means you can pass 0, 1 or n number of arguments in function. To do this, you need to use 3 ellipses (dots) before the argument name. The 3 dot concept is implemented for variable length argument since PHP 5.6.

127) Explain PHP variable length argument function.

PHP supports variable length argument function. It means you can pass 0, 1 or n number of arguments.

128) What is the array in PHP?

Array is used to store multiple values in single value. In PHP, it orders maps of pairs of keys and values. It stores the collection of data type.

129) How many types of array are there in PHP?

There are three types of array in PHP:

Indexed array

Associative array

Multidimensional array

130) Explain some of the PHP array functions?

There are many array functions in PHP:









More details...

131) What is the difference between indexed and associative array?

The indexed array holds elements in an indexed form which is represented by number starting from 0 and incremented by 1. For example:


The associative array holds elements with name. For example:


132) How to get the length of string?

The strlen() function is used to get the length of string.

133) Explain some of the PHP string functions?

There are many array functions in PHP:








134) What are the methods to submit form in PHP?

There are two methods GET and POST.

135) How can you submit a form without a submit button?

You can use JavaScript submit() function to submit the form without explicitly clicking any submit button.

136) What are the ways to include file in PHP?

PHP allows you to include file so that page content can be reused again. There are two ways to include file in PHP.



137) Differentiate between require and include?

Require and include both are used to include a file, but if file is not found include sends warning whereas require sends Fatal error.

138) Explain setcookie() function in PHP?

PHP setcookie() function is used to set cookie with HTTP response. Once cookie is set, you can access it by $_COOKIE superglobal variable.


bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path    

[, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )   

More details...

139) How can you retrieve a cookie value?

echo $_COOKIE ["user"]; 

15 PHP Interview Questions And s For ExperiencedPHP Interview Web Development  Published: May 7, 2017  Meenakshi Agarwal 

PHP developers are still in high demand for the web application development. And there are more and more high-end enterprise level websites getting created using PHP. Hence, we are adding 15 more PHP interview questions and s for the experienced web developers. In our last post, you might have seen that we’d published the 30 PHP questions for beginners.

All of you might be aware of the fact that Web development market is growing like anything. And especially the web programmers are the primary beneficiary of this growth. Hence, most of them tend to learn technologies like PHP, HTML/CSS, JavaScript, AngularJS, and NodeJS. To turn them into a better programmer, we’d started this series of web developer interview questions.

Starting with our first post on the 50 most essential AngularJS interview questions, we later had taken up other web development topics like NodeJS, CSS/HTML, and now PHP. Our team has studied the latest trends and the patterns of the questions asked in the interviews. All of this help us serve you better and achieve our goal of making you succeed in job interviews.

PHP Interview Questions And s For Experienced

PHP Interview Questions and s for Experienced

PHP Interview Questions and s

140) What Is The Difference Between Unlink And Unset Function In PHP?

<unlink()> function is useful for file system handling. We use this function when we want to delete the files (physically). Let’s see a sample code.


$xx = fopen('sample.html', 'a');

fwrite($xx, '<h1>Hello !!</h1>');




unset() function performs variable management. It makes a variable undefined. Or we can say that unset() changes the value of a given variable to null. Thus, in PHP if a user wants to destroy a variable, it uses unset(). It can remove a single variable, multiple variables, or an element from an array. Let’s see a sample code.


$val = 200;

echo $val; //Out put will be 200

$val1 = unset($val);

echo $val1; //Output will be null



unset($val);  // remove a single variable

unset($sample_array&#91;'element'&#93;); //remove a single element in an array

unset($val1, $val2, $val3); // remove multiple variables


142. What Are PHP Traits?

It is a mechanism that allows us to do code reusability in single inheritance language, such as PHP. Its structure is almost same as that of PHP class, just that it is a group of reusable functions. Despite having same name and definition, they appear in several classes, each one having a separate declaration leading to code duplicity. We can group these functions and create PHP Traits. The class can use this Trait to include the functionality of the functions defined in it.

Let’s take an example, where we create a Message class.

class Message



Let say there exists a class Welcome.

class Welcome


    public function welcome()


        echo "Welcome","n"



To include its functionality in Message class, we can extend it as.


class Message extends Welcome



$obj = new Message;


Let’s say there exists another class named Goodmorning.

class Goodmorning


    public function goodmorning()


        echo "Good Morning","n";



We cannot include the functionality of the Goodmorning class in Message class, as PHP does not support Multiple Inheritance. Here, PHP Traits comes into the picture. Let’s see how Traits resolve the issue of Multiple Inheritance for Message class.


trait Goodmorning


    public function goodmorning()


        echo "Good Morning","n";



trait Welcome


    public function welcome()


        echo "Welcome","n";



class Message


    use Welcome, Goodmorning;

    public function sendMessage()


        echo 'I said Welcome',"n";

        echo $this->welcome(),"n";

        echo 'and you said Good Morning',"n";

        echo $this->goodmorning();



$o = new Message;


It Produces The Following Output.

I said Welcome


and you said Good Morning

Good Morning

143. How Can We Display The Correct URL Of The Current Webpage?


echo $_SERVER['PHP_SELF'];


144. Why We Use Extract() In PHP?

The extract() function imports variables into the local symbol table from an array. It uses variable names as array keys and variable values as array values. For each element of an array, it creates a variable in the current symbol table.Following is

Following is the syntax.


Let’s see an example.


$varArray = array("course1" => "PHP", "course2"  => "JAVA","course3" => "HTML");


echo "$course1, $course2, $course3";


145 What Is The Default Timeout For Any PHP Session?

The default session timeout happens in 24 minutes (1440 seconds). However, we can change this value by setting the variable <session.gc_maxlifetime()> in [php.ini] file.

146 What Is Autoloading Classes In PHP?

With autoloaders, PHP allows the last chance to load the class or interface before it fails with an error.

The spl_autoload_register() function in PHP can register any number of autoloaders, enable classes and interfaces to autoload even if they are undefined.


spl_autoload_register(function ($classname) {

    include  $classname . '.php';


$object  = new Class1();

$object2 = new Class2();


In the above example we do not need to include Class1.php and Class2.php. The spl_autoload_register() function will automatically load Class1.php and Class2.php.

147. What Are Different Ways To Get The Extension Of A File In PHP?

There are following two ways to retrieve the file extension.

1.  $filename = $_FILES[‘image’][‘name’];

     $ext           =  pathinfo($filename, PATHINFO_EXTENSION);

2. $filename = $_FILES[‘image’][‘name’];

     $array         = explode(‘.’, $filename);

     $ext             = end($array);

148. What Is PDO In PHP?.

PDO stands for <PHP Data Object>.

It is a set of PHP extensions that provide a core PDO class and database, specific drivers.

It provides a vendor-neutral, lightweight, data-access abstraction layer. Thus, no matter what database we use, the function to issue queries and fetch data will be same.

It focuses on data access abstraction rather than database abstraction.

PDO requires the new object oriented features in the core of PHP 5. Therefore, it will not run with earlier versions of PHP.

PDO divides into two components.

The core which provides the interface.

Drivers to access particular driver.

149. What Does The Presence Of Operator ‘::’ Represent?

It gets used to access the static methods that do not require initializing an object.

150. How To Get The Information About The Uploaded File In The Receiving Script?

Once the Web server receives the uploaded file, it calls the PHP script specified in the form action attribute to process it.

This receiving PHP script can get the information of the uploaded file using the predefined array called $_FILES. PHP arranges this information in $_FILES as a two-dimensional array. We can retrieve it as follows.

$_FILES[$fieldName][‘name’] – It represents the file name on the browser system.

$_FILES[$fieldName][‘type’] – It indicates the file type determined by the browser.

$_FILES[$fieldName][‘size’] – It represents the size of the file in bytes.

$_FILES[$fieldName][‘tmp_name’] – It gives the temporary filename with which the uploaded file got stored on the server.

$_FILES[$fieldName][‘error’] – It returns the error code associated with this file upload.

The $fieldName is the name used in the <input type=”file” name=”<?php echo $fieldName; ?>”>.


151. What Is The Difference Between Split And Explode Functions For String Manipulation In PHP?

Both of them perform the task of splitting a String. However, the method they use is different.

The split() function splits the String into an array using a regular expression and returns an array.

For Example.


Returns an array that contains May, June, July.

The explode() function splits the String using a String delimiter.

For Example.

explode(and May and June and July);

Also returns an array that contains May, June, July.

152. What Is The Use Of Ini_set() In PHP?

PHP allows the user to modify some of its settings mentioned in <php.ini> using ini_set(). This function requires two string arguments. First one is the name of the setting to be modified and the second one is the new value to be assigned to it.

Given line of code will enable the display_error setting for the script if it’s disabled.

ini_set('display_errors', '1');

We need to put the above statement, at the top of the script so that, the setting remains enabled till the end. Also, the values set via ini_set() are applicable, only to the current script. Thereafter, PHP will start using the original values from php.ini.

Before changing any settings via ini_set(), it’s necessary to determine that PHP allows modifying it or not. We can only change the settings that get listed as ‘PHP_INI_USER’ or ‘PHP_INI_ALL’ in the ‘Changeable’ column of PHP manual [].

Let’s see an example where we are modifying the SQL connection timeout using ini_set() function and later on verify the configured value by using ini_get() function.

echo ini_get('mysql.connect_timeout');  // OUTPUT 60


echo "<br>";

echo ini_get('mysql.connect_timeout');  // output 100

153. How To Change The File Permissions In PHP?

Permissions in PHP are very similar to UNIX. Each file has following three types of permissions.


Write and


PHP uses the <chmod()> function to change the permissions of a specific file. It returns TRUE on success and FALSE on failure.

Following is the Syntax.


- file

Mandatory parameter. It indicates the name of the file to set the permissions.

- mode

Mandatory parameter. Specifies the new permissions. The mode parameter consists of four numbers.


Mandatory parameter. It indicates the name of the file to set the permissions.


Mandatory parameter. Specifies the new permissions. The mode parameter consists of four numbers.

The first number is always zero.

The second number specifies the permissions for the owner.

The third number specifies the permissions for the owner’s user group.

The fourth number specifies the permissions for everybody else.

Possible values are (add up the numbers to set multiple permissions)

1 = execute permissions

2 = write permissions

4 = read permissions

For Example.

To set read and write permission for owner and read for everybody else, we use.


154. What Is The Use Of Urlencode() And Urldecode() In PHP?

The use of urlencode() is to encode a string before using it in a query part of a URL. It encodes the same way as posted data from a web page is encoded. It returns the encoded string.

Following is the Syntax.

urlencode (string $str )

It is a convenient way for passing variables to the next page.

The use of urldecode() function is to decode the encoded string. It decodes any %## encoding in the given string (inserted by urlencode.)

Following is the Syntax.

urldecode (string $str )

155. Which PHP Extension Helps To Debug The Code?.

The name of that Extension is Xdebug. It uses the DBGp debugging protocol for debugging. It is highly configurable and adaptable to a variety of situations.

Xdebug provides following details in the debug information.

Stack and function trace in the error messages.

Full parameter display for user defined functions.

Displays function name, file name and line indications where the error occurs.

Support for member functions.

Memory allocation

Protection for infinite recursions

Xdebug also provides.

Profiling information for PHP scripts.

Code coverage analysis.

Capabilities to debug your scripts interactively with a front-end debugger.


Xdebug is also available via PECL.