PHP Interview Questions
http://www.tutorialspoint.com/php/php_interview_questions.htm
Copyright © tutorialspoint.com
Dear readers, these PHP Programming Language Interview Questions
have been designed specially to get you acquainted with the nature of
questions you may encounter during your interview for the subject of PHP Programming Language.
As per my experience good interviewers hardly plan to ask any
particular question during your interview, normally questions start with
some basic concept of the subject and later they continue based on
further discussion and what you answer −
PHP is a recursive acronym for "PHP: Hypertext Preprocessor". PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire e-commerce sites.
All PHP code must be included inside one of the three special markup tags ate are recognised by the PHP Parser.
PHP is a recursive acronym for "PHP: Hypertext Preprocessor". PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire e-commerce sites.
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.
All PHP code must be included inside one of the three special markup tags ate are recognised 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...?>
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.
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.'
Whitespace is the stuff you type that is typically invisible on the screen, including spaces, tabs, and carriage returns end−of−linecharacters
.
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.
Yes!
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.
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
suchasdatabaseconnections
- .
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
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
haszerocharacters
- .
- Don't use double as Booleans.
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.
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 $.
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.
boolean,integer,floatandstring
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("MINSIZE", 50); echo MINSIZE; echo constant("MINSIZE"); // same thing as the previous line ?>Only scalar data
can be contained in constants.
- There is no need to write a dollar sign
$
- 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.
PHP provides a large number of predefined constants to any script which it runs known as magic constants.
_LINE_ − The current line number of the file.
_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.
_FUNCTION_ − The function name. AddedinPHP4.3.0
. In PHP 4 its value is always lowercased.
_CLASS_ − The class name. AddedinPHP4.3.0
. In PHP 4 its value is always lowercased.
_METHOD_ − The class method name. AddedinPHP5.0.0
.
break terminates the for loop or switch statement and transfers
execution to the statement immediately following the for loop or switch.
continue causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.
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; }
Numeric array − An array with a numeric index. Values are stored and accessed in linear fashion.
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.
Multidimensional array − An array containing one or more arrays and values are accessed using multiple indices.
To concatenate two string variables together, use the dot .
operator −
<?php $string1="Hello World"; $string2="1234"; echo $string1 . " " . $string2; ?>This will produce following result −
Hello World 1234
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
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
PHP provides a function getenv
to access the value of all the environment variables.
One of the environemnt variables set by PHP is HTTP_USER_AGENT which identifies the user's browser and operating system.
The PHP rand
function that specifiies the seed number as its argument.
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.
The PHP header
function can be used to halt parsing of rest of the code.
The HTTP header will be different from the actual header where we
send Content-Type as text/html\n\n. In this case content type will be
application/octet-stream and actual file name will be concatenated
alongwith it. For example,if you want make a FileName file downloadable
from a given link then its syntax will be as follows.
#!/usr/bin/perl # HTTP Header print "Content-Type:application/octet-stream; name=\"FileName\"\r\n"; print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n"; # Actual File Content open( FILE, "<FileName" ); while(read(FILE, $buffer, 100) ) { print("$buffer"); }
The PHP provides $_GET associative array to access all the sent information using GET method.
The PHP provides $_POST associative array to access all the sent information using POST method.
The PHP REQUESTvariablecontainsthecontentsofboth
_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.
array
− Creates an array.
sort
− Sorts an array.
Singly quoted strings are treated almost literally, whereas doubly
quoted strings replace variables with their values as well as specially
interpreting certain character sequences.
<?php $variable = "name"; $literally = 'My $variable will not print!\\n'; print($literally); print "<br />"; $literally = "My $variable will print!\\n"; print($literally); ?>This will produce following result −
My $variable will not print!\n My name will print
To concatenate two string variables together, use the dot .
operator.
<?php $string1="Hello World"; $string2="1234"; echo $string1 . " " . $string2; ?>This will produce following result −
Hello World 1234
The PHP REQUESTvariablecontainsthecontentsofboth
_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.
There are two PHP functions which can be used to included one PHP file into another PHP file.
- The include
- 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.
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.
Once a file is opened using fopen
. This function requires two arguments. These must be the file pointer and the length of the file expressed in bytes.
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.
File's existence can be confirmed using file_exist
function which takes file name as an argument.
Yes! You can set a parameter to have a default value if the function's caller doesn't pass it.
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);
PHP provides many ways to access cookies. Simplest way is to use either COOKIEor
HTTP_COOKIE_VARS variables.
You can use isset
function to check if a cookie is set or not.
To delete a cookie you should call setcookie
with the name argument only.
A PHP session is easily started by making a call to the session_start
at the beginning of the page.
Session variables are stored in associative array called $_SESSION[].
These variables can be accessed during lifetime of a session.
Make use of isset
function to check if session variable is already set or not.
Here is the example to unset a single variable −
<?php unset($_SESSION['counter']); ?>
A PHP session can be destroyed by session_destroy
function.
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 );
This is a global PHP variable. This variable is an associate double
dimension array and keeps all the information related to uploaded file.
Using $_FILES['file']['tmp_name'] − it provides access to the uploaded file in the temporary directory on the web server.
Using $_FILES['file']['name'] − it provides the actual name of the uploaded file.
Using $_FILES['file']['size'] − it provides the size in bytes of the uploaded file.
Using $_FILES['file']['type'] − it provides the MIME type of the uploaded file.
Using $_FILES['file']['error'] − it provides the error code associated with this file upload.
$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.
$_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.
$_COOKIE − An associative array of variables passed to the current script via HTTP cookies.
$_SESSION − An associative array containing session variables available to the current script.
$_PHP_SELF − A string containing PHP script file name in which it is called.
php_errormsg is a variable containing the text of the last error message generated by PHP.
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.
eregi
− The eregi
function searches throughout a string specified by pattern for a string specified by string. The search is not case sensitive.
The split
function will divide a string into various elements, the boundaries of
each element based on the occurrence of pattern in string.
preg_match
- The preg_match
function searches string for pattern, returning true if pattern exists, and false otherwise.
The preg_split
function operates exactly like split
, except that regular expressions are accepted as input parameters for pattern.
Using getMessage
method of Exception class which returns the message of exception.
Using getCode
method of Exception class which returns the code of exception.
Using getFile
method of Exception class which returns source filename.
Using getLine
method of Exception class which returns source line.
Using getTrace
method of Exception class which returns array of the backtrace.
Using getTraceAsString
method of Exception class which returns formated string of trace.
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.
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
.
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.
PHP provides mysql_connect function to open a database connection.
connection mysql_connect(server,user,passwd,new_link,client_flag);
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 );
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.
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.
Yes!
PHP provides a special function called __construct
to define a constructor. You can pass as many as arguments you like into the constructor function.
Like a constructor function you can define a destructor function using function __destruct
. You can release all the resourceses with-in a destructor.
The variable $this is a special variable and it refers to the same object ie. itself.
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;
After creating your objects, you will be able to call member
functions related to that object. One member function will be able to
process member variable of related object only. Following example shows
how to set title and prices for the three books by calling member
functions.
$physics−>setTitle( "Physics for High School" ); $chemistry−>setTitle( "Advanced Chemistry" ); $maths−>setTitle( "Algebra" ); $physics−>setPrice( 10 ); $chemistry−>setPrice( 15 ); $maths−>setPrice( 7 );
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.
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 skeltons
which are implemented by developers.
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.
What is Next?
Further you can go through your past assignments you have done with the subject and make sure you are able to speak confidently on them. If you are fresher then interviewer does not expect you will answer very complex questions, rather you have to make your basics concepts very strong.Second it really doesn't matter much if you could not answer few questions but it matters that whatever you answered, you must have answered with confidence. So just feel confident during your interview. We at tutorialspoint wish you best luck to have a good interviewer and all the very best for your future endeavor. Cheers :-)
No comments:
Post a Comment