1. What is the purpose of continue statement?

continue causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.

2. What is the purpose of _CLASS_ constant?

_CLASS_ − The class name. (Added in PHP 4.3.0) As of PHP 5 this constant returns the class name as it was declared (case-sensitive). In PHP 4 its value is always lowercased.

3. What is the purpose of _METHOD_ constant?

_METHOD_ − The class method name. (Added in PHP 5.0.0) The method name is returned as it was declared (case-sensitive).

4. Can you assign the default values to a function parameters?

Yes! You can set a parameter to have a default value if the function's caller doesn't pass it.

5. What is associate array in PHP?

Associative array − An array with strings as index. This stores element values in association with key values rather than in a strict linear index order.

6. What are PHP magic constants?

PHP provides a large number of predefined constants to any script which it runs known as magic constants.

7. Which function will you use to create an array?

array() − Creates an array.

8. What do you mean by having PHP as whitespace insensitive?

Whitespace is the stuff you type that is typically invisible on the screen, including spaces, tabs, and carriage returns (end-of-line characters). PHP whitespace insensitive means that it almost never matters how many whitespace characters you have in a row.one whitespace character is the same as many such characters.

9. What is the purpse $_REQUEST variable?

The PHP $_REQUEST variable contains the contents of both $_GET, $_POST, and $_COOKIE. We will discuss $_COOKIE variable when we will explain about cookies. The PHP $_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.

10. What is the purpose of _LINE_ constant?

_LINE_ − The current line number of the file.

Download Interview PDF

11. What is the purpose of $_FILES variable in PHP?

This is a global PHP variable. This variable is an associate double dimension array and keeps all the information related to uploaded file.

12. What is the purpose of php.ini file?

The PHP configuration file, php.ini, is the final and most immediate way to affect PHP's functionality. The php.ini file is read each time PHP is initialized.in other words, whenever httpd is restarted for the module version or with each script execution for the CGI version. If your change isn.t showing up, remember to stop and restart httpd. If it still isn.t showing up, use phpinfo() to check the path to php.ini.

13. How will you delete a cookie in PHP?

To delete a cookie you should call setcookie() with the name argument only.

14. How will you open a file in readonly mode?

The PHP fopen() function is used to open a file. It requires two arguments stating first the file name and then mode in which to operate. "r" mode opens the file for reading only and places the file pointer at the beginning of the file.

15. How will you start a session in PHP?

A PHP session is easily started by making a call to the session_start() function.This function first checks if a session is already started and if none is started then it starts one. It is recommended to put the call to session_start() at the beginning of the page.

16. How will you check if a file exists or not using php?

File's existence can be confirmed using file_exist() function which takes file name as an argument.

17. How will you generate random numbers using PHP?

The PHP rand() function is used to generate a random number. This function can generate numbers with-in a given range. The random number generator should be seeded to prevent a regular pattern of numbers being generated. This is achieved using the srand() function that specifies the seed number as its argument.

18. How will you get information sent via post method in PHP?

The PHP provides $_POST associative array to access all the sent information using POST method.

19. How will you unset a single session variable?

Here is the example to unset a single variable −

<?php
unset($_SESSION['counter']);
?>

20. How will you get cookies using PHP?

PHP provides many ways to access cookies. Simplest way is to use either $_COOKIE or $HTTP_COOKIE_VARS variables.

21. How will you get information sent via get method in PHP?

The PHP provides $_GET associative array to access all the sent information using GET method.

22. What are the common usage of PHP?

Common uses of PHP −
☛ PHP performs system functions, i.e. from files on a system it can create, open, read, write, and close them.
☛ PHP can handle forms, i.e. gather data from files, save data to a file, thru email you can send data, return data to the user.
☛ You add, delete, modify elements within your database thru PHP.
☛ Access cookies variables and set cookies.
☛ Using PHP, you can restrict users to access some pages of your website.
☛ It can encrypt data.

23. How can you sort an array?

sort() − Sorts an array.

24. How will you set cookies using PHP?

PHP provided setcookie() function to set a cookie. This function requires upto six arguments and should be called before <html> tag. For each cookie this function has to be called separately.

setcookie(name, value, expire, path, domain, security);

25. How will you destroy the session?

A PHP session can be destroyed by session_destroy() function.

Download Interview PDF

26. How will you include the content of a PHP file into another PHP file?

There are two PHP functions which can be used to included one PHP file into another PHP file.

☛ The include() Function

☛ The require() Function

27. How will you get environment variables in PHP?

PHP provides a function getenv() to access the value of all the environment variables.

28. Explain the importance of the function htmlentities?

The htmlentities() function converts characters to HTML entities.

29. Explain the syntax for 'foreach' loop in PHP?

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.

foreach (array as value)
{
code to be executed;
}

30. Why would you use === instead of ==?

If you would want to check for a certain type, like an integer or boolean, the === will do that exactly like one would expect from a strongly typed language, while == would convert the data temporarily and try to match both operand's types. The identity operator (===) also performs better as a result of not having to deal with type conversion. Especially when checking variables for true/false you want to avoid using == as this would also take into account 0/1 or other similar representation.

31. How will you access the actual name of the uploaded file in PHP?

Using $_FILES['file']['name'] − it provides the actual name of the uploaded file.

32. How will you make a check that a cookie is set or not?

You can use isset() function to check if a cookie is set or not.

33. How will you concatenate two strings in PHP?

To concatenate two string variables together, use the dot (.) operator −

<?php
$string1="Global Guideline";
$string2="Interviews";
echo $string1 . " " . $string2;
?>

This will produce following result:
Global Guideline Interviews

34. Tell me In how many ways you can embed PHP code in an HTML page?

All PHP code must be included inside one of the three special markup tags ate are recognized by the PHP Parser.

<?php PHP code goes here ?>
<? PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>

35. How will you access the size of the uploaded file in PHP?

Using $_FILES['file']['size'] − it provides the size in bytes of the uploaded file.

36. How we can get the number of elements in an array?

The count() function is used to return the number of elements in an array.

Understanding of arrays and array related helper functions it's a knowledge that every junior developer should have.

37. What is the purpose of $_SESSION variable in PHP?

$_SESSION − An associative array containing session variables available to the current script.

38. Does PHP support multiple inheritance?

No. You should understand what multiple inheritance is.

39. How will you access the uploaded file in PHP?

Using $_FILES['file']['tmp_name'] − it provides access to the uploaded file in the temporary directory on the web server.

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

Download Interview PDF

41. How ereg() function works?

ereg() − The ereg() function searches a string specified by string for a string specified by pattern, returning true if the pattern is found, and false otherwise.

42. What is the Scope Resolution Operator?

"::" double colons is the scope operator it is used to call methods of a class that has not been instantiated. You should also understand static methods and how they differ from regular methods.

43. How will you access the content type of the uploaded file in PHP?

Using $_FILES['file']['type'] − it provides the MIME type of the uploaded file.

44. Can you extend a Final defined class?

No, you cannot extend a Final defined class. A Final class or method declaration prevents child class or method overriding.

45. What is the purpose of $php_errormsg variable in PHP?

$php_errormsg − $php_errormsg is a variable containing the text of the last error message generated by PHP.

46. What is Polymorphism in PHP context?

Don't get scared by the big word. It's simply the idea that one object can can take on many forms. So in PHP OOP one class "cars" may have two classes that extend it, for example a "Honda" class and a "BMW" class.

47. What is the purpose of $_PHP_SELF variable in PHP?

$_PHP_SELF − A string containing PHP script file name in which it is called.

48. What are the different types of PHP variables?

PHP has a total of eight data types which we use to construct our variables −

☛ Integers − are whole numbers, without a decimal point, like 4195.
☛ Doubles − are floating-point numbers, like 3.14159 or 49.1.
☛ Booleans − have only two possible values either true or false.
☛ NULL − is a special type that only has one value: NULL.
☛ Strings − are sequences of characters, like 'PHP supports string operations.'
☛ Arrays − are named and indexed collections of other values.
☛ Objects − are instances of programmer-defined classes, which can package up both other kinds of values and functions that are specific to the class.
☛ Resources − are special variables that hold references to resources external to PHP (such as database connections).

49. What are the 3 scope levels available in PHP and how would you define them?

☛ Private - Visible only in its own class
☛ Public - Visible to any other code accessing the class
☛ Protected - Visible only to classes parent(s) and classes that extend the current class

This is important for any developer to know because it shows an understanding that building applications is more than just being able to write code. One must also have an understanding about privileges and accessibility of that code. There are times protected variables or methods are extremely important, and an understanding of scope is needed to protect the integrity of the data in your application along with provide a clear path through the code.

50. In a PHP class what are the three visibility keywords of a property or method?

public, private and protected. The default is public.
Public -> Any class may instantiate the class and call the method or property.
Protected -> Only the class itself or inherited (children) classes may call a method or property.
Private -> Only the class itself may call a method or property.

51. How will you access the error code associated with file upload in PHP?

Using $_FILES['file']['error'] − it provides the error code associated with this file upload.

52. What are Traits?

Traits are a mechanism that allows you to create reusable code in languages like PHP where multiple inheritance is not supported. A Trait cannot be instantiated on its own.

It's important that a developer know the powerful features of the language (s)he is working on, and Trait is one of such features.

53. What is the purpose of $_SERVER variable in PHP?

$_SERVER − This is an array containing information such as headers, paths, and script locations. The entries in this array are created by the web server. There is no guarantee that every web server will provide any of these. See next section for a complete list of all the SERVER variables.

54. Explain how a PHP session works?

A PHP session cookie is set in the clients browser, on every request the client sends that cookie to the server. PHP then uses that cookie to select the corresponding session information. By default PHP session_start() will store session data in files, you can also store sessions in a database.

55. How eregi() function works?

eregi() − The eregi() function searches throughout a string specified by pattern for a string specified by string. The search is not case sensitive.

Download Interview PDF

56. What is x+ mode in fopen() used for?

Read/Write. Creates a new file. Returns FALSE and an error if file already exists

57. How split() function works?

The split() function will divide a string into various elements, the boundaries of each element based on the occurrence of pattern in string.

58. How to delete a file from the system?

Unlink() deletes the given file from the file system.

59. How preg_match() function works?

preg_match() - The preg_match() function searches string for pattern, returning true if pattern exists, and false otherwise.

60. How will you send an email using PHP?

PHP makes use of mail() function to send an email. This function requires three mandatory arguments that specify the recipient's email address, the subject of the the message and the actual message additionally there are other two optional parameters.

mail( to, subject, message, headers, parameters );

61. What is the purpose of constant() function?

As indicated by the name, this 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.

<?php
define("GlobalGuideline", 50);
echo GlobalGuideline;
echo constant("GlobalGuideline"); // same thing as the previous line
?>
Only scalar data (boolean, integer, float and string) can be contained in constants.

62. What are getters and setters and why are they important?

Getters and setters are methods used to declare or obtain the values of variables, usually private ones. They are important because it allows for a central location that is able to handle data prior to declaring it or returning it to the developer. Within a getter or setter you are able to consistently handle data that will eventually be passed into a variable or additional functions. An example of this would be a user's name. If you are not using a setter and just declaring the $userName variable by hand you could end up with results as such: "kevin", "KEVIN", "KeViN", "", etc. With a setter you can not only adjust the value, for example, ucfirst($userName), but you can also handle situations where the data is not valid such as the example where "" is passed. The same applies to a getter - when the data is being returned, you can modify the results to include strtoupper($userName) for proper formatting further up the chain.

This is important for any developer who is looking to enter a team-based / application development job to know. Getters and setters are often used when dealing with objects, especially ones that will end up in a database or other storage medium. Because PHP is commonly used to build web applications you will run across getters and setters in more advanced environments, even as a junior developer. They are extremely powerful yet not talked about very much. You can really impress an interviewer by knowing what they are and how to use them early on.

63. How to find the download size of a file?

The question also asks us to find the total download size of a URL. But what if that URL passed into the script just points to a single file resource like a JPG file or a GIF file? Well, for a single file resource we just need to find the size of that particular file and then return it as the answer, and we are done. But, for an HTML document we will need to find the total size of all resources that are embedded and included on the page and return that as the answer - because you must remember that we want the total download size of a URL.

So, let's write a PHP function that will return the download size of a single file resource. How should we approach writing this function - what is the easiest way to find the download size of a single file resource on the web?

Well, there is an HTTP header called "Content-Length" which will actually tell us the size of a particular resource file in the HTTP response (after the resource is requested). So, all we have to do is use PHP's built in "get_headers" function, which will retrieve all the HTTP headers sent by the server in response to an HTTP request.

The get_headers function accepts a URL as an argument. So, the PHP code to retrieve the "Content-Length" header would look like this:


function get_remote_file_size($url) {
$headers = get_headers($url, 1);

if (isset($headers['Content-Length']))
return $headers['Content-Length'];

//checks for lower case "L" in Content-length:
if (isset($headers['Content-length']))
return $headers['Content-length'];
}

But, there is actually a problem with this code: you will not always receive the Content-Length header in an HTTP response. In other words, the HTTP Content-Length header is not guaranteed to be sent back by the web server hosting that particular URL, because it depends on the configuration of the server. This means that you need an alternative that always works in case the approach above fails.

64. What is Object Oriented Programming in PHP context?

This is usually a pretty open ended question. You should understand classes (objects are instantiated classes), abstract classes, interfaces, methods, properties,inheritance, multiple inheritance as well as why OOP is helpful as compared to procedural programming.

65. How should we parse HTML in PHP?

What exactly is meant by the sentence "For a complex resource such as an HTML document, the script would need
to parse it to find references to embedded, included resources:
javascript files, CSS files, iframes, etc."?

Well, as you probably know, an HTML page often uses other files to render the HTML page - like CSS file(s) for styling, Javascript file(s) for adding more functionality to the HTML page, and so on. But the question is how do we take an HTML page and find all of those resources in the HTML page. Of course, this is easy to do if we are reading the HTML page with the human eye. But, we want to find these resources using a program that will read the HTML for us. This is actually more complicated than it seems - and the process by which a program (like PHP) reads an HTML file and analyzes the text to extract meaningful data (like resources) is known as parsing the HTML. Any text can be parsed, but we are exclusively focused on HTML for the purpose of this interview question.

66. What are SQL Injections, how do you prevent them and what are the best practices?

SQL injections are a method to alter a query in a SQL statement send to the database server. That modified query then might leak information like username/password combinations and can help the intruder to further compromise the server.

To prevent SQL injections, one should always check & escape all user input. In PHP, this is easily forgotten due to the easy access to $_GET & $_POST, and is often forgotten by inexperienced developers. But there are also many other ways that users can manipulate variables used in a SQL query through cookies or even uploaded files (filenames). The only real protection is to use prepared statements everywhere consistently.

Do not use any of the mysql_* functions which have been deprecated since PHP 5.5 ,but rather use PDO, as it allows you to use other servers than MySQL out of the box. mysqli_* are still an option, but there is no real reason nowadays not to use PDO, ODBC or DBA to get real abstraction. Ideally you want to use Doctrine or Propel to get rid of writing SQL queries all together and use object-relational mapping which binds your rows from the database to objects in your application.

67. What are the rules for determine the "truth" of any value not already of the Boolean type?

Here are the rules for determine the "truth" of any value not already of the Boolean type −

☛ If the value is a number, it is false if exactly equal to zero and true otherwise.
☛ If the value is a string, it is false if the string is empty (has zero characters) or is the string "0", and is true otherwise.
☛ Values of type NULL are always false.
☛ If the value is an array, it is false if it contains no other values, and it is true otherwise. For an object, containing a value means having a member variable that has been assigned a value.
☛ Valid resources are true (although some functions that return resources when they are successful will return FALSE when unsuccessful).
☛ Don't use double as Booleans.

68. How will you find the length of a string in PHP?

The strlen() function is used to find the length of a string. Let's find the length of our string "Hello world!" −

<?php
echo strlen("Hello world!");
?>
This will produce following result −

12

69. How will you retrieve code of exception using Exception class in PHP when error occured?

Using getCode() method of Exception class which returns the code of exception.

70. What does "&" mean in '&$var'?

'&' indicates a reference

Download Interview PDF

71. What is the difference between $var and $$var?

They are both variables. But $var is a variable with a fixed name. $$var is a variable who's name is stored in $var. For example, if $var contains "message", $$var is the same as $message.

72. Are objects in PHP 5 passed by value or reference?

This is basically a trick questions. To understand how they are passed you need to understand how objects are instantiated.

73. How will you retrieve source line using Exception class in PHP when error occured?

Using getLine() method of Exception class which returns source line.

74. What is the purpose of $_COOKIE variable in PHP?

$_COOKIE − An associative array of variables passed to the current script via HTTP cookies.

75. What is the value of "$day" in the below code?

$wed= 1;
$day = ($wed==1) ? 'today' : 'tomorrow';
// $day is now set to 'today'

Companies often ask about the ternary operator (?). which is simply a shorthand for if else statements.

76. What is the purpose of date() function?

The date() function returns a formatted string representing a date. You can exercise an enormous amount of control over the format that date() returns with a string argument that you must pass to it.

77. How to find current date and time?

The date() function provides you with a means of retrieving the current date and time, applying the format integer parameters indicated in your script to the timestamp provided or the current local time if no timestamp is given. In simplified terms, passing a time parameter is optional - if you don't, the current timestamp will be used.

78. How will you add a constructor function to a PHP class?

PHP provides a special function called __construct() to define a constructor. You can pass as many as arguments you like into the constructor function.

79. What is Object-Oriented Methodology?

Object orientation is a software/Web development methodology that is based on the modeling a real world system. An object is the core concept involved in the object orientation. An object is the copy of the real world enity. An object oriented model is a collection of objects and its inter-relationships

80. How preg_split() function works?

The preg_split() function operates exactly like split(), except that regular expressions are accepted as input parameters for pattern.

81. What are the different errors in PHP?

In PHP, there are three types of runtime errors, they are:

☛ Warnings:
These are important errors. Example: When we try to include () file which is not available. These errors are showed to the user by default but they will not result in ending the script.

☛ Notices:
These errors are non-critical and trivial errors that come across while executing the script in PHP. Example: trying to gain access the variable which is not defined. These errors are not showed to the users by default even if the default behavior is changed.

☛ Fatal errors:
These are critical errors. Example: instantiating an object of a class which does not exist or a non-existent function is called. These errors results in termination of the script immediately and default behavior of PHP is shown to them when they take place. Twelve different error types are used to represent these variations internally.

82. How will you retrieve the error message using Exception class in PHP when error occured?

Using getMessage() method of Exception class which returns the message of exception.

83. Difference between mysql_connect and mysql_pconnect?

There is a good page in the php manual on the subject, in short mysql_pconnect() makes a persistent connection to the database which means a SQL link that do not close when the execution of your script ends. mysql_connect()provides only for the databasenewconnection while using mysql_pconnect , the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection... the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use.

84. How will you close a MySql database using PHP?

Its simplest function mysql_close PHP provides to close a database connection. This function takes connection resource returned by mysql_connect function. It returns TRUE on success or FALSE on failure.

bool mysql_close ( resource $link_identifier );

If a resource is not specified then last opend database is closed.

85. What is PEAR?

PEAR is a framework and distribution system for reusable PHP components. The project seeks to provide a structured library of code, maintain a system for distributing code and for managing code packages, and promote a standard coding style.

PEAR is broken into three classes: PEAR Core Components, PEAR Packages, and PECL Packages. The Core Components include the base classes of PEAR and PEAR_Error, along with database, HTTP, logging, and e-mailing functions. The PEAR Packages include functionality providing for authentication, networking, and file system features, as well as tools for working with XML and HTML templates.

Download Interview PDF

86. How will you retrieve source filename using Exception class in PHP when error occured?

Using getFile() method of Exception class which returns source filename.

87. What is the use of "enctype" attribute in a html form?

The enctype attribute determines how the form-data should be encoded when submitting it to the server. We need to set enctype as "multipart/form-data" when we are using a form for uploading files

88. What is function overriding?

Function definitions in child classes override definitions with the same name in parent classes. In a child class, we can modify the definition of a function inherited from parent class.

89. How stop the execution of a php scrip?

exit() function is used to stop the execution of a page

90. How will you get the current date and time using PHP?

PHP's time() function gives you all the information that you need about the current date and time. It requires no arguments but returns an integer.

91. How to strip whitespace (or other characters) from the beginning and end of a string?

The trim() function removes whitespaces or other predefined characters from both sides of a string.

92. How will you create objects in PHP?

Once you defined your class, then you can create as many objects as you like of that class type. Following is an example of how to create object using new operator.

$physics = new Books;
$maths = new Books;
$chemistry = new Books;

93. How to create an array of a group of items inside an HTML form?

We can create input fields with same name for "name" attribute with squire bracket at the end of the name of the name attribute, It passes data as an array to PHP.
For instance :

<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />

94. Can you create a class in PHP?

Yes I can create a class in PHP

95. 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 testing global guideline filen" );
fclose( $file );

96. What is the use of final keyword in PHP?

PHP 5 introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended.

97. What is mean by an associative array?

Associative arrays are arrays that use string keys is called associative arrays.

98. How will you add a destructor function to a PHP class?

Like a constructor function you can define a destructor function using function __destruct(). You can release all the resources with-in a destructor.

99. What is the use of explode() function?

Syntax : array explode ( string $delimiter , string $string [, int $limit ] );

This function breaks a string into an array. Each of the array elements is a substring of string formed by splitting it on boundaries formed by the string delimiter

100. What are interfaces n PHP?

Interfaces are defined to provide a common function names to the implementors. Different implementors can implement those interfaces according to their requirements. You can say, interfaces are skeletons which are implemented by developers.

Download Interview PDF

101. Write a program using while loop?

$my_qry = mysql_query("SELECT * FROM `users` WHERE `u_id`='1'; ");

while($result = mysql_fetch_array($my_qry))
{
echo $result['First_name'.]."
";
}

102. How will you retrieve formatted string of trace in PHP when error occurred?

Using getTraceAsString() method of Exception class which returns formatted string of trace.

103. What is the importance of "action" attribute in a html form?

The action attribute determines where to send the form-data in the form submission.

104. How will you access the reference to same object within the object in PHP?

The variable $this is a special variable and it refers to the same object ie. itself.

105. Write down the code for save an uploaded file in php?

if ($_FILES["file"]["error"] == 0)
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}

106. How will you create a MySql database using PHP?

PHP uses mysql_query function to create a MySQL database. This function takes two parameters and returns TRUE on success or FALSE on failure.

bool mysql_query( sql, connection );

107. How to create a mysql connection?

mysql_connect(servername,username,password);

108. How will you parse an XML document using PHP?

PHP 5's new SimpleXML module makes parsing an XML document, well, simple. It turns an XML document into an object that provides structured access to the XML. To create a SimpleXML object from an XML document stored in a string, pass the string to simplexml_load_string( ). It returns a SimpleXML object.

109. How to Retrieve a Cookie Value in PHP?

eg : echo $_COOKIE["user"];

110. How will you connect a MySql database using PHP?

PHP provides mysql_connect function to open a database connection.

connection mysql_connect(server,user,passwd,new_link,client_flag);

111. Do you know what is the difference between Session and Cookie?

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 not hold multiple variables,But 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

112. What is the purpose of getdate() function?

The function getdate() optionally accepts a time stamp and returns an associative array containing information about the date. If you omit the time stamp, it works with the current time stamp as returned by time().

113. Explain what's the difference between include and require?

It's how they handle failures. If the file is not found by require(), it will cause a fatal error and halt the execution of the script. If the file is not found by include(), a warning will be issued, but execution will continue.

114. What is the use of $_REQUEST variable?

The PHP $_REQUEST variable contains the contents of both $_GET, $_POST, and $_COOKIE. We will discuss $_COOKIE variable when we will explain about cookies. The PHP $_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.

115. What is use of in_array() function in php?

in_array used to checks if a value exists in an array

Download Interview PDF

116. How will you retrieve stack trace using Exception class in PHP when error occured?

Using getTrace() method of Exception class which returns array of the backtrace.

117. How will you access session variables in PHP?

Session variables are stored in associative array called $_SESSION[]. These variables can be accessed during lifetime of a session.

118. How will you get the browser's details using PHP?

One of the environment variables set by PHP is HTTP_USER_AGENT which identifies the user's browser and operating system.

119. How to increase the execution time of a PHP script?

By default the PHP script takes 30secs to execute. This time is set in the php.ini file. This time can be increased by modifying the max_execution_time in seconds. The time must be changed keeping the environment of the server. This is because modifying the execution time will affect all the sites hosted by the server.

120. What is the use of 'print' in php?

This is not actually a real function, It is a language construct. So you can use with out parentheses with its argument list.
Example print('Global Guideline');

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

122. What is the use of rand() in php?

It is used to generate random numbers. If called without the arguments it returns a pseudo-random integer between 0 and getrandmax(). If you want a random number between 6 and 12 (inclusive), for example, use rand(6, 12).
This function does not generate cryptographically safe values, and should not be used for cryptographic uses. If you want a cryptographically secure value, consider using openssl_random_pseudo_bytes() instead.

123. What does ob_start do?

Makes it so PHP does not output anything. Companies ask this because many large frameworks wrap a bunch of code in ob_start() and ob_get_clean(). So understanding how that function works is pretty important.

124. Distinguish between urlencode and urldecode?

This method is best when encode a string to used in a query part of a url. it returns a string in which all non-alphanumeric characters except -_. have replece with a percentege(%) sign . the urldecode->Decodes url to encode string as any %and other symbole are decode by the use of the urldecode() function.

125. How to set a page as a home page in a php based site?

index.php is the default name of the home page in php based sites

126. How to execute an sql query? How to fetch its result?

$my_qry = mysql_query("SELECT * FROM `users` WHERE `u_id`='1'; ");
$result = mysql_fetch_array($my_qry);
echo $result['First_name'];

127. Tell me how to declare an array in php?

Eg : var $arr = array('apple', 'grape', 'lemon');

128. What is the purpose of $GLOBALS variable in PHP?

$GLOBALS − Contains a reference to every variable which is currently available within the global scope of the script. The keys of this array are the names of the global variables.

129. How will you check if session variable is already set or not in PHP?

Make use of isset() function to check if session variable is already set or not.

130. How will you read a file in php?

Once a file is opened using fopen() function it can be read with a function called fread(). This function requires two arguments. These must be the file pointer and the length of the file expressed in bytes.

Download Interview PDF

131. How will you redirect a page using PHP?

The PHP header() function supplies raw HTTP headers to the browser and can be used to redirect it to another location. The redirection script should be at the very top of the page to prevent any other part of the page from loading. The target is specified by the Location: header as the argument to the header() function. After calling this function the exit() function can be used to halt parsing of rest of the code.

132. What is numeric array in PHP?

Numeric array − An array with a numeric index. Values are stored and accessed in linear fashion.

133. What are the differences between PHP constants and variables?

☛ There is no need to write a dollar sign ($) before a constant, where as in Variable one has to write a dollar sign.
☛ Constants cannot be defined by simple assignment, they may only be defined using the define() function.
☛ Constants may be defined and accessed anywhere without regard to variable scoping rules.
☛ Once the Constants have been set, may not be redefined or undefined.

134. What is escaping to PHP?

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

135. What does MVC stand for and what does each component do?

MVC stands for Model View Controller.
The controller handles data passed to it by the view and also passes data to the view. It's responsible for interpretation of the data sent by the view and dispersing that data to the appropriate models awaiting results to pass back to the view. Very little, if any business logic should be occurring in the controller.

The model's job is to handle specific tasks related to a specific area of the application or functionality. Models will communicate directly with your database or other storage system and will handle business logic related to the results.

The view is passed data by the controller and is displayed to the user.

Overall, this question is worth knowing as the MVC design pattern has been used a lot in the last few years and is a very good design pattern to know. Even with more advanced flows that go down to repositories and entities, they still are following the same basic idea for the Controller and View. The Model is typically just split out into multiple components to handle specific tasks related to database data, business logic etc. The MVC design pattern helps draw a better understanding of what is being used, as a whole, in the industry.

136. How can you enable error reporting in PHP?

Check if "display_errors" is equal "on" in the php.ini or declare "ini_set('display_errors', 1)" in your script.
Then, include "error_reporting(E_ALL)" in your code to display all types of error messages during the script execution.

Enabling error messages is very important especially during the debugging process as you can instantly get the exact line that is producing the error and you can see also if the script in general is behaving correctly.

137. How to connect to a URL in PHP?

It should also be clear that we will need to somehow be able to connect to a URL and view the contents of the page that the URL points to. What is the best way to do this? Well PHP provides a library called cURL that may already be included in your 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 - like the HTML content of the page, the HTTP headers and their associated data, etc. You will see the use of cURL in our code below - don't worry if you've never used cURL before, it's fairly easy to understand!

138. What is the difference between $_GET and $_POST?

This is a great question because an interviewer can tell how deeply you understand HTTP and the request/response. If you don't have good understanding of HTTP protocol, google around and get a grasp on it.

Explain the HTTP protocol and how every request contains a method, generally(GET,POST,PUT,DELETE) and what each method signifies.

$_GET stores variables passed in url as query strings. $_POST stores variables past from using method = $_POST

139. What is the use of the function htmlentities?

htmlentities Convert all applicable characters to HTML entities This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.

140. What is the difference between mysql_fetch_array() and mysql_fetch_assoc()?

mysql_fetch_assoc function Fetch a result row as an associative array, While mysql_fetch_array() fetches an associative array, a numeric array, or both

141. Explain Differences between GET and POST methods?

We can send 1024 bytes using GET method but POST method can transfer large amount of data and POST is the secure method than GET method .

142. How to redirect a page in php?

The following code can be used for it,
header("Location: http://www.globalguideline.com/");

143. How to get the value of current session id?

session_id() function returns the session id for the current session.

144. What is the meaning of a final class and a final method?

Final keywords indicates that the class or method cannot be extended.

145. What is the difference between GET and POST?

☛ GET displays the submitted data as part of the URL, during POST this information is not shown as it's encoded in the request.
☛ GET can handle a maximum of 2048 characters, POST has no such restrictions.
☛ GET allows only ASCII data, POST has no restrictions, binary data are also allowed.
☛ Normally GET is used to retrieve data while POST to insert and update.

Understanding the fundamentals of the HTTP protocol is very important to have a good start as a PHP developer, and the differences between GET and POST are an essential part of it.

Download Interview PDF

146. What PSR Standards do you follow? Why would you follow a PSR standard?

You should folow a PSR because coding standards often vary between developers and companies. This can cause issues when reviewing or fixing another developer's code and finding a code structure that is different from yours. A PSR standard can help streamline the expectations of how the code should look, thus cutting down confusion and in some cases syntax errors.

147. What are rules for naming a PHP variable?

Rules for naming a variable are following −

Variable names must begin with a letter or underscore character.

A variable name can consist of numbers, letters, underscores but you cannot use characters like + , - , % , ( , ) . & , etc

148. What is the purpose of break statement?

break terminates the for loop or switch statement and transfers execution to the statement immediately following the for loop or switch.

149. How will you locate a string within a string in PHP?

The strpos() function is used to search for a string or character within a string. If a match is found in the string, this function will return the position of the first match. If no match is found, it will return FALSE. Let's see if we can find the string "world" in our string −

<?php
echo strpos("Hello world!","world");
?>

This will produce following result −
6

150. How will you get the size of a file in php?

The files's length can be found using the filesize() function which takes the file name as its argument and returns the size of the file expressed in bytes.

151. What types of loops exist in php?

for, while, do while and foreach (NB: You should learn its usage)

152. What's the difference between include and require?

If the file is not found by require(), it will cause a fatal error and halt the execution of the script. If the file is not found by include(), a warning will be issued, but execution will continue.

153. What is the difference between include() Function and require() Function?

If there is any problem in loading a file then the require() function generates a fatal error and halt the execution of the script whereas include() function generates a warning but the script will continue execution.

154. What is the purpse $_PHP_SELF variable?

The PHP default variable $_PHP_SELF is used for the PHP script name and when you click "submit" button then same PHP script will be called.

155. What is Multidimensional array in PHP?

Multidimensional array − An array containing one or more arrays and values are accessed using multiple indices.

156. What is the purpose of _FUNCTION_ constant?

_FUNCTION_ − The function name. (Added in PHP 4.3.0) As of PHP 5 this constant returns the function name as it was declared (case-sensitive). In PHP 4 its value is always lowercased.

157. What is NULL in PHP context?

NULL is a special type that only has one value: NULL. To give a variable the NULL value, simply assign it like this −

$my_var = NULL;
The special constant NULL is capitalized by convention, but actually it is case insensitive; you could just as well have typed −

$my_var = null;
A variable that has been assigned NULL has the following properties:

It evaluates to FALSE in a Boolean context.

It returns FALSE when tested with IsSet() function.

158. Is PHP a case sensitive language?

Yes PHP is a case sensitive language

159. Explain how to execute a PHP script using command line?

PHP script using command line can be executed using SAPI (Server Application programming Interface). Using SAPI Command Line Interface the PHP code can be passed to execute directly

Example:
Php -r 'print_r(get_defined_constanrs());'

From a shell, php -v will display whether the SAPI is CLI or CGI

160. How does one prevent the following Warning 'Warning: Cannot modify header information - headers already sent' and why does it occur in the first place?

Do not output anything to the browser before using code that modifies the HTTP headers. Once you call echo or any other code that clears the buffer you can no longer set cookies or headers. That is also true for error messages, so if an error happens before you use the header command and the INI directive display_errors is set then that will also cause that error to show.

Download Interview PDF

161. What are the __construct() and __destruct() methods in a PHP class?

All objects in PHP have Constructor and Destructor methods built-in. The Constructor method is called immediately after a new instance of the class is being created, and it's used to initialize class properties. The Destructor method takes no parameters.

Understanding these two in PHP means that the candidate knows the very basics of OOP in PHP.

162. What are the main error types in PHP and how do they differ?

In PHP there are three main type of errors:
Notices - Simple, non-critical errors that are occurred during the script execution. An example of a Notice would be accessing an undefined variable.
Warnings - more important errors than Notices, however the scripts continue the execution. An example would be include() a file that does not exist.
Fatal - this type of error causes a termination of the script execution when it occurs. An example of a Fatal error would be accessing a property of a non-existent object or require() a non-existent file.

Understanding the error types is very important if you are new to programming because they help you understand what is going on during the development, and they will help you know what you should look for in the code during debugging.

163. What exactly is an HTTP request?

The question asks for two major things from a URL - the total number of HTTP requests and the total download size for all requests. The download size is easy enough to understand, but you may be confused by what exactly is meant by an HTTP request. HTTP is the protocol used to communicate on the web. When you visit a webpage, your browser will make an HTTP request to the server that hosts that webpage, and the server on which the webpage is hosted will respond with an HTTP response.

But, what is important to understand here, is that your browser will probably have to make multiple HTTP requests in order to retrieve a single HTML page at a given URL, because that webpage will probably have some CSS files to go along with it, some Javascript files, and probably some images as well. Each one of those resources is a separate HTTP request - 2 image files, 2 Javascript files, and 2 CSS files means 6 separate HTTP requests. In HTTP, only one resource can be requested at a time - so we can not have 1 request for 6 different resources, instead we must have 6 requests for those 6 different resources.

So, for the purpose of this interview question, we have to find out the number of HTTP requests that will be made for a given URL - hopefully what that means is now clear to you. We'll go more in depth on this later - and show some actual code - as we cover some other things as well.

164. What are some PHP Design patterns you have worked with?

Design patterns are simply commonly used techniques within your code, they often are implemented in different ways so they can be a bit tricky to grasp without writing them yourself. If you are unfamiliar with them I would start by learning the Singleton Pattern and the Strategy Pattern.

165. What are some of the big changes PHP has gone through in the past few years?

There are a number, but the big ones people are looking for are:
☛ PHP 5.0 realised the object model (AKA OOP).
☛ 5.1 added PDO - for accessing databases.
☛ 5.3 - added namespace support and late static bindings.

166. Explain what are the different types of errors in PHP?

Here are three basic types of runtime errors in PHP:

☛ Notices: These are trivial, non-critical errors that PHP encounters while executing a script - for example, accessing a variable that has not yet been defined. By default, such errors are not displayed to the user at all - although you can change this default behavior.

☛ Warnings: These are more serious errors - for example, attempting to include() a file which does not exist. By default, these errors are displayed to the user, but they do not result in script termination.

☛ Fatal errors: These are critical errors - for example, instantiating an object of a non-existent class, or calling a non-existent function. These errors cause the immediate termination of the script, and PHP's default behavior is to display them to the user when they take place.

167. What is the use of "ksort" in php?

It is used for sort an array by key in reverse order.

168. What is the importance of "method" attribute in a html form?

"method" attribute determines how to send the form-data into the server.There are two methods, get and post. The default method is get.This sends the form information by appending it on the URL.Information sent from a form with the POST method is invisible to others and has no limits on the amount of information to send.

169. What is the use of header() function in php?

The header() function sends a raw HTTP header to a client browser. Remember that this function must be called before sending the actual out put. For example, You do not print any HTML element before using this function.

170. How to create a session? How to set a value in session? How to Remove data from a session?

Create session : session_start();
Set value into session : $_SESSION['USER_ID']=1;
Remove data from a session : unset($_SESSION['USER_ID'];

171. How to include a file to a php page?

We can include a file using "include() " or "require()" function with file path as its parameter.

172. Explain what is sql injection?

SQL injection is a malicious code injection technique.It exploiting SQL vulnerabilities in Web applications

173. How send email using php?

To send email using PHP, you use the mail() function.This mail() function accepts 5 parameters as follows (the last 2 are optional). You need webserver, you can't send email from localhost.

eg : mail($to,$subject,$message,$headers);

174. What is the use of isset() in php?

This function is used to determine if a variable is set and is not NULL

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

Download Interview PDF

176. Tell me how to set cookies in PHP?

Setcookie("sample", "ram", time()+3600);

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

178. What is the purpose of _FILE_ constant?

_FILE_ − The full path and filename of the file. If used inside an include,the name of the included file is returned. Since PHP 4.0.2, _FILE_ always contains an absolute path whereas in older versions it contained relative path under some circumstances.

179. How will you define a constant in PHP?

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. Unlike with variables, you do not need to have a constant with a $.

180. What are the characteristics of PHP variables?

☛ Here are the most important things to know about variables in PHP.
☛ All variables in PHP are denoted with a leading dollar sign ($).
☛ The value of a variable is the value of its most recent assignment.
☛ Variables are assigned with the = operator, with the variable on the left-hand side and the expression to be evaluated on the right.
☛ Variables can, but do not need, to be declared before assignment.
☛ Variables in PHP do not have intrinsic types - a variable does not know in advance whether it will be used to store a number or a string of characters.
☛ Variables used before they are assigned have default values.
☛ PHP does a good job of automatically converting types from one to another when necessary.
☛ PHP variables are Perl-like.

181. What is MIME?

MIME - Multi-purpose Internet Mail Extensions.

MIME types represents a standard way of classifying file types over Internet.

Web servers and browsers have a list of MIME types, which facilitates files transfer of the same type in the same way, irrespective of operating system they are working in.

A MIME type has two parts: a type and a subtype. They are separated by a slash (/).

MIME type for Microsoft Word files is application and the subtype is msword, i.e. application/msword.

182. The value of the variable input is a string 1,2,3,4,5,6,7. How would you get the sum of the integers contained inside input?

<?php
echo array_sum(explode(',',$input));
?>

The explode function is one of the most used functions in PHP, so it's important to know if the developer knows this function. There is no unique answer to this question, but the answer must be similar to this one.

183. How can we get the IP address of the client?

This question might show an interview how playful and creative the candidate is because there are many options. $_SERVER["REMOTE_ADDR"]; is the easiest solution, but you can write x line scripts for this question.

184. What is the difference between $var and $$var in PHP?

$$var sets the value of $var as a variable.

$day='monday';
$$day='first day of week';
echo $monday; //outputs 'first day of week'

185. How do you load classes in PHP?

They are trying to gauge your understanding of how class auto loading works. Review the "autoload" and "spl_autoload_register" function (note:you should use the later). The autoload function basically triggers a function when a class is instantiated, you can put whatever logic you like in it but generally you want to include the class file based on some sort of naming convention.

186. In PHP what is the difference between a Class and an Interface?

Interfaces do not contain business logic, only method signatures that define a template that any classes implementing the interface must contain. Lets take an auto mobile for example. If we were to create and interface for a car we would want to define a few methods like drive, stop, turn left , turn right. This mean that any vehicle that is a car (aka implements the interface car) must have methods for these things, If they do not PHP will throw an error. So if your car is an BMW , Honda or Ford it must be able to stop. How it stops is up to each car (or PHP class) but it must be able to stop. Technically we can decide not to use an interface for cars, but then some types of cars are not forced to have a "stop" method.

187. How to find the position of the first occurrence of a substring in a string?

strpos() is used to find the position of the first occurrence of a substring in a string

188. What are the encryption techniques in PHP?

MD5 PHP implements the MD5 hash algorithm using the md5 function,
eg : $encrypted_text = md5 ($msg);

mcrypt_encrypt :- string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] );
Encrypts plaintext with given parameters

189. How do you define a constant?

Using define() directive, like define ("MYCONSTANT",150)

190. How to find the length of a string?

strlen() function used to find the length of a string

Download Interview PDF

191. What is the use of mysql_real_escape_string() function?

It is used to escapes special characters in a string for use in an SQL statement

192. How to select a database?

mysql_select_db($db_name);

193. What is use of count() function in php?

count() is used to count all elements in an array, or something in an object

194. What is the use of "echo" in php?

It is used to print a data in the webpage, Example: <?php echo 'Global Guideline'; ?> , The following code print the text in the webpage

195. Explain the purpose of output buffering in PHP?

Output buffering in PHP buffers a scripts output. This buffer can be edited before returning it to the client. Without output buffering, PHP sends data to the web server as soon as it is ready. Output buffering "send" cookies at any point in the script. Cookies do not have to be necessarily sent near the start of page. Output buffers are stackable and hence sending to output is by choice.

196. Explain the different types of errors in PHP?

Notices, Warnings and Fatal errors are the types of errors in PHP

☛ Notices:
Notices represents non-critical errors, i.e. accessing a variable that has not yet been defined. By default, such errors are not displayed to the user at all but whenever required, you can change this default behavior.

☛ Warnings:
Warnings are more serious errors but they do not result in script termination. i.e calling include() a file which does not exist. By default, these errors are displayed to the user.

☛ Fatal errors:
Fatal errors are critical errors i.e. calling a non-existent function or class. These errors cause the immediate termination of the script.

197. What are PSRs? Choose 1 and briefly describe it?

PSRs are PHP Standards Recommendations that aim at standardizing common aspects of PHP Development.

An example of a PSR is PSR-2, which is a coding style guide.

198. Can the value of a constant change during the script's execution?

No, the value of a constant cannot be changed once it's declared during the PHP execution.

199. What are some magic methods in PHP, how might you use them?

Magic methods are basically triggers that occur when particular events happen in your coding. __GET, __SET are magic methods that are called (behind the seen) when you get or set a class property.

200. What is MVC in PHP context?

Most programmers know this, but interviewers will likely look for a deep understanding of MVC, and some explanation or examples on how/why/ when you used it.

MVC- Model, View, Controller - is simply a way of organizing your code into 3 separate layers each with there own job.

☛ Model - Usually contains data access code and all of you business logic code.
☛ View - Contains markup/design code, generally html,xml, json.
☛ Controller - Usually contains very little code, just whatever is needed to call the Model code and render the View code.

201. Explain what are the differences between mysql_fetch_array(), mysql_fetch_object(), mysql_fetch_row()?

☛ Mysql_fetch_array Fetch a result row as an associative array, a numeric array, or both.

☛ mysql_fetch_object ( resource result ) Returns an object with properties that correspond to the fetched row and moves the internal data pointer ahead. Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows

☛ mysql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

202. Explain What is PHP?

PHP is a server side scripting language commonly used for web applications. PHP has many frameworks and cms for creating websites.Even a non technical person can cretae sites using its CMS.WordPress,osCommerce are the famus CMS of php.It is also an object oriented programming language like java,C-sharp etc.It is very eazy for learning