PHP Interview Question1
PHP Interview Question1
PHP Interview Question1
1) What is PHP?
PHP is a web language based on scripts that allow developers to dynamically create generated
web pages.
PEAR means "PHP Extension and Application Repository". It extends PHP and provides a
higher level of programming for web developers.
Just use the PHP command line interface (CLI) and specify the file name of the script to be
executed as follows:
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
8) What is 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 ---] ?>
PHP supports only single inheritance; it means that a class can be extended from only one single
class using the keyword 'extended'.
'final' is introduced in PHP5. Final class means that this class cannot be extended and a final
method cannot be overridden.
We use the operator '==' to test is two objects are instanced from the same class and have same
attributes and equal values. We can test if two objects are referring to the same instance of the
same class by the use of the identity operator '==='.
It is possible to generate HTML through PHP scripts, and it is possible to pass pieces of
information 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().
PHP and Javascript cannot directly interact since PHP is a server side language and Javascript is
a client-side language. However, we can exchange variables since PHP can generate Javascript
code to be executed by the browser and it is possible to pass specific variables back to PHP via
the URL.
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 the file then it ends with a fatal error. However, the
include() function gives a warning, and the PHP script continues to execute.
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.
23) How can we display information of a variable and readable by a human with PHP?
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.
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 a separator between fields and
then to open the file with Excel.
27) What is the function file_get_contents() useful for?
mysql_pconnect() ensure a persistent connection to the database, it means that the connection
does not close when the PHP script ends.
31) How is it possible to know the number of rows returned in the result set?
The mysqli_fetch_object() function collects the first single matching record where
mysqli_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?
To access the data sent via the GET method, we use $_GET array like this:
www.url.com?var=value
$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:
$_POST["var"];
It is possible to use the dedicated function, is_numeric() to check whether it is a number or not.
If we want to check whether a variable has a value or not, it is possible to use the empty()
function.
The unlink() function is dedicated for file system handling. It simply deletes the file given as
entry.
The unset() function is dedicated for variable management. It will make a variable undefined.
The addslashes function enables us to escape data before storage into the database.
The stripslashes function enables us to remove the escape characters before apostrophes in a
string.
We have to enable the Magic quotes entry in the configuration file of PHP.
The function get_magic_quotes_gpc() tells us whether the magic quotes is switched on or no.
A static variable is defined within a function only the first time, and its value can be modified
during function calls as follows:
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 create vulnerability.
To be able to pass a variable by reference, we use an ampersand in front of it, as follows $var1 =
&$var2
"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:
When the original if was followed by: and then the code block without braces.
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;
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?
parent::constructor($value)
__sleep returns the array of all the variables that need to be saved, while __wakeup retrieves
them.
$variable2 = 'World';
$variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
$variable3 will contain "Hello World". The first code is faster than the second code especially
for large large sets of data.
A session is a logical object enabling us to preserve temporary data across multiple PHP pages.
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.
Sessions automatically end when the PHP script finishes 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 frees all session variables.
$GLOBALS is associative array including references to all variables which are currently defined
in the global scope of the script.
$_SERVER is an array including information created by the web server such as paths, headers,
and script locations.
$_FILES is an associative array composed of items sent to the current script via the HTTP POST
method.
$_FILES['userfile']['name'] represents the original name of the file on the client machine,
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?
$_ENV is an associative array of variables sent to the current PHP script via the environment
method.
$_COOKIE is an associative array of variables sent to the current PHP script using the HTTP
Cookies.
78) What does the scope of variables mean?
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 & $b: Bits that are set in both $a and $b are set.
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.
$a === $b TRUE if $a and $b have the same key/value pairs in the same order and of the same
types.
!= 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.
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.
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.
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.
statement
The first expression is executed once at the beginning. In each iteration, expr2 is evaluated. If it
is TRUE, the loop continues, and the statements inside for are executed. If it evaluates to
FALSE, the execution of the loop ends. expr3 is tested at the end of each iteration.
However, foreach provides an easy way to iterate over arrays, and it is only used with arrays and
objects.
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()">
The function eregi_replace() is identical to the function ereg_replace() except that it ignores case
distinction when matching alphabetic characters.
The three basic classes of errors are notices (non-critical), warnings (serious errors) and fatal
errors (critical errors).
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.
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.
The default session time in php is until the closing of the browser
Yes, it's possible to integrate (Distributed) Component Object Model components ((D)COM) in
PHP scripts which is provided as a framework.
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?