picture picture
November 2, 2011 Interview Questions, PHP, PHP 81 Comments

PHP Basic interview Questions

PHP interview questions and answers on advance and basic PHP and MySql with example for jobs in IT so this page for both freshers and 1 to 3 year experienced condidate it covered file system, PHP email, string fuctions, header functions, pear clasess and library, regular expression , array sorting, PHP date format, CURL, PayPal Integration, Shoping cart, PHP Memcache and php framework like Zend framework, Symfony, CodeIgniter and Yii frameworks from PHP4 to PHP6 etc means all type of PHP questions covered under this page.

Q. Who is the father of PHP ?

A. Rasmus Lerdorf is known as the father of PHP.

Q. What is the difference between $name and $$name?

A. $name is variable where as $$name is reference variable like $name=sonia and $$name=singh so $sonia value is singh.
 
Q. How can we submit a form without a submit button?

A. Java script submit() function is used for submit form without submit button on click call document.formname.submit()

Q. In how many ways we can retrieve the data in the result set of MySQL using PHP?

A. We can do it by 4 Ways
1. mysql_fetch_row. , 2. mysql_fetch_array , 3. mysql_fetch_object 4. mysql_fetch_assoc

Q. What is the difference between mysql_fetch_object and mysql_fetch_array?

A. mysql_fetch_object() is similar tomysql_fetch_array(), with one difference – an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Q. What are the differences between Get and post methods.

A. There are some defference between GET and POST method
1. GET Method have some limit like only 2Kb data able to send for request But in POST method unlimited data can we send
2. when we use GET method requested data show in url but Not in POST method so POST method is good for send sensetive request

Q. How can we extract string “sandykadam.com ” from a string “http://info@sandykadam.com using regular expression of PHP?

A. preg_match(“/^http:\/\/.+@(.+)$/”,”http://info@sandykadam.com”,$matches);
echo $matches[1];

Q. How can we create a database using PHP and MySQL?

A. We can create MySQL database with the use of mysql_create_db(“Database Name”)

Q. What are the differences between require and include?

A. Both include and require used to include a file but when included file not found; Include send Warning where as Require send Fatal Error .

Q. Can we use include (“xyz.PHP”) two times in a PHP page “index.PHP”?

A. Yes we can use include(“xyz.php”) more than one time in any page. but it create a prob when xyz.php file contain some funtions declaration then error will come for already declared function in this file else not a prob like if you want to show same content two time in page then must incude it two time not a prob

Q. What are the different tables(Engine) present in MySQL, which one is default?

A. Following tables (Storage Engine) we can create
1. MyISAM(The default storage engine IN MYSQL Each MyISAM table is stored on disk in three files. The files have names that begin with the table name and have an extension to indicate the file type. An .frm file stores the table format. The data file has an .MYD (MYData) extension. The index file has an .MYI (MYIndex) extension. )
2. InnoDB(InnoDB is a transaction-safe (ACID compliant) storage engine for MySQL that has commit, rollback, and crash-recovery capabilities to protect user data.)
3. Merge
4. Heap (MEMORY)(The MEMORY storage engine creates tables with contents that are stored in memory. Formerly, these were known as HEAP tables. MEMORY is the preferred term, although HEAP remains supported for backward compatibility. )
5. BDB (BerkeleyDB)(Sleepycat Software has provided MySQL with the Berkeley DB transactional storage engine. This storage engine typically is called BDB for short. BDB tables may have a greater chance of surviving crashes and are also capable of COMMIT and ROLLBACK operations on transactions)
6. EXAMPLE
7. FEDERATED (It is a storage engine that accesses data in tables of remote databases rather than in local tables. )
8. ARCHIVE (The ARCHIVE storage engine is used for storing large amounts of data without indexes in a very small footprint. )
9. CSV (The CSV storage engine stores data in text files using comma-separated values format.)
10. BLACKHOLE (The BLACKHOLE storage engine acts as a “black hole” that accepts data but throws it away and does not store it. Retrievals always return an empty result)

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

A. The header() function sends a raw HTTP header to a client.We can use herder() function for redirection of pages. It is important to notice that header() must be called before any actual output is seen..

Q. How can I execute a PHP script using command line?

A. Just run the PHP CLI (Command Line Interface) program and provide the PHP script file name as the command line argument.

Q. Suppose your Zend engine supports the mode Then how can you configure your PHP Zend engine to support mode ?

A. In php.ini file:
set
short_open_tag=on
to make PHP support

Q. Shopping cart online validation i.e. how can we configure Paypal, etc.?

A. Nothing more we have to do only redirect to the payPal url after submit all information needed by paypal like amount,adresss etc.

Q. What is meant by nl2br()?

A. Inserts HTML line breaks (
) before all newlines in a string.

Q. What is htaccess? Why do we use this and Where?

A. .htaccess files are configuration files of Apache Server which provide a way to make configuration changes on a per-directory basis. A file, containing one or more configuration directives, is placed in a particular document directory, and the directives apply to that directory, and all
subdirectories thereof.

Q. How we get IP address of client, previous reference page etc ?

A. By using $_SERVER[‘REMOTE_ADDR’],$_SERVER[‘HTTP_REFERER’] etc.

Q. What are the reasons for selecting lamp (Linux, apache, MySQL, PHP) instead of combination of other software programs, servers and
operating systems?

A. All of those are open source resource. Security of Linux is very very more than windows. Apache is a better server that IIS both in functionality and security. MySQL is world most popular open source database. PHP is more faster that asp or any other scripting language.

Q. How can we encrypt and decrypt a data present in a MySQL table using MySQL?

A. AES_ENCRYPT () and AES_DECRYPT ()

Q. How can we encrypt the username and password using PHP?

A. The functions in this section perform encryption and decryption, and
compression and uncompression:

encryption decryption
AES_ENCRYT() AES_DECRYPT()
ENCODE() DECODE()
DES_ENCRYPT() DES_DECRYPT()
ENCRYPT() Not available
MD5() Not available
OLD_PASSWORD() Not available
PASSWORD() Not available
SHA() or SHA1() Not available
Not available UNCOMPRESSED_LENGTH()

Q. What are the features and advantages of object-oriented programming?

A. One of the main advantages of OO programming is its ease of modification; objects can easily be modified and added to a system there by reducing maintenance costs. OO programming is also considered to be better at modeling the real world than is procedural programming. It allows for more complicated and flexible interactions. OO systems are also easier for non-technical personnel to understand and easier for them to participate in the maintenance and enhancement of a system because it appeals to natural human cognition patterns. For some systems, an OO approach can speed development time since many objects are standard across systems and can be reused. Components that manage dates, shipping, shopping carts, etc. can be purchased and easily modified for a specific system

Q. What are the differences between procedure-oriented languages and object-oriented languages?

A. There are lot of difference between procedure language and object oriented like below
1>Procedure language easy for new developer but complex to understand whole software as compare to object oriented model
2>In Procedure language it is difficult to use design pattern mvc , Singleton pattern etc but in OOP you we able to develop design pattern
3>IN OOP language we able to ree use code like Inheritance ,polymorphism etc but this type of thing not available in procedure language on that our Fonda use COPY and PASTE .

Q. What is the use of friend function?

A.  Sometimes a function is best shared among a number of different classes. Such functions can be declared either as member functions of one class or as global functions. In either case they can be set to be friends of other classes, by using a friend specifier in the class that is admitting them. Such functions can use all attributes of the class which names them as a friend, as if they were themselves members of that class. A friend declaration is essentially a prototype for a member function, but instead of requiring an implementation with the name of that class attached by the double colon syntax, a global function or member function of another class provides the match.

Q. What are the differences between public, private, protected, static, transient, final and volatile?

A. Public: Public declared items can be accessed everywhere.
Protected: Protected limits access to inherited and parent classes (and to the class that defines the item).
Private: Private limits visibility only to the class that defines the item.
Static: A static variable exists only in a local function scope, but it does not lose its value when program execution leaves this scope.
Final: Final keyword 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.
transient: A transient variable is a variable that may not be serialized.
volatile: a variable that might be concurrently modified by multiple threads should be declared volatile.
Variables declared to be volatile will not be optimized by the compiler because their value can change at any time.

Q. What are the different types of errors in PHP?

A. Three are three types of errors:
1. 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, as you will see, you can change this default behavior.
2. 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.
3. 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.

Q. What is the functionality of the function strstr and stristr?

A. strstr Returns part of string from the first occurrence of needle(sub string that we finding out ) to the end of string.
$email= ‘sandykadam@gmail.com’;
$domain = strstr($email, ‘@’);
echo $domain; // prints @gmail.com
here @ is the needle
stristr is case-insensitive means able not able to diffrenciate between a and A

Q. What are the differences between PHP 3 and PHP 4 and PHP 5?

A. There are lot of difference among these three version of php
1>Php3 is oldest version after that php4 came and current version is php5 (php5.3) where php6 have to come
2>Difference mean oldest version have less functionality as compare to new one like php5 have all OOPs concept now where as php3 was pure procedural language constructive like C
In PHP5 1. Implementation of exceptions and exception handling
2. Type hinting which allows you to force the type of a specific argument
3. Overloading of methods through the __call function
4. Full constructors and destructors etc through a __constuctor and __destructor function
5. __autoload function for dynamically including certain include files depending on the class you are trying to create.
6 Finality : can now use the final keyword to indicate that a method cannot be overridden by a child. You can also declare an entire class as final which prevents it from having any children at all.
7 Interfaces & Abstract Classes
8 Passed by Reference :
9 An __clone method if you really want to duplicate an object

Q. How can we convert asp pages to PHP pages?

A. there are lots of tools available for asp to PHP conversion. you can search Google for that. the best one is available athttp://asp2php.naken.cc./

Q. What is the functionality of the function htmlentities?

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

Q. How can we get second of the current time using date function?

A. $second = date(“s”);

Q. How can we convert the time zones using PHP?

A. By using date_default_timezone_get and date_default_timezone_set function on PHP 5.1.0
[code type=php]
// Discover what 8am in Tokyo relates to on the East Coast of the US

// Set the default timezone to Tokyo time:
date_default_timezone_set(‘Asia/Tokyo’);

// Now generate the timestamp for that particular timezone, on Jan 1st, 2000
$stamp = mktime(8, 0, 0, 1, 1, 2000);

// Now set the timezone back to US/Eastern
date_default_timezone_set(‘US/Eastern’);

// Output the date in a standard format (RFC1123), this will print:
// Fri, 31 Dec 1999 18:00:00 EST
echo ‘<p>’ .  date(DATE_RFC1123, $stamp)  . ‘</p>’

[/code]

Q. What is meant by urlencode and urldocode?

A. URLencode returns a string in which all non-alphanumeric characters except -_. have been replaced with a percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs. It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type. urldecode decodes any %## encoding in the given string.

Q. What is the difference between the functions unlink and unset?

A. unlink() deletes the given file from the file system. unset() makes a variable undefined.

Q. How can we register the variables into a session?

A. $_SESSION[‘name’] = “sandy”;

Q. How can we get the properties (size, type, width, height) of an image using PHP image functions?

A. To know the Image type use exif_imagetype () function
To know the Image size use getimagesize () function
To know the image width use imagesx () function
To know the image height use imagesy() function t

Q. How can we get the browser properties using PHP?

A. By using $_SERVER[‘HTTP_USER_AGENT’] variable.

Q. What is the maximum size of a file that can be uploaded using PHP and how can we change this?

A. By default the maximum size is 2MB. and we can change the following setup at php.ini
upload_max_filesize = 2M

Q. How can we increase the execution time of a PHP script?

A. by changing the following setup at php.ini
max_execution_time = 30;
Maximum execution time of each script, in seconds

Q. How can we take a backup of a MySQL table and how can we restore it. ?

A. To backup: BACKUP TABLE tbl_name[,tbl_name…] TO ‘/path/to/backup/directory’ RESTORE TABLE tbl_name[,tbl_name…] FROM ‘/path/to/backup/directory’mysqldump: Dumping Table Structure and DataUtility to dump a database or a collection of database for backup or
for transferring the data to another SQL server (not necessarily a MySQL server). The dump will contain SQL statements to create the table and/or
populate the table. -t, –no-create-info Don’t write table creation information (the CREATE TABLE statement). -d, –no-data Don’t write any row information for the table. This is very useful if you just want to get a dump of the structure for a table!

Q. How can we optimize or increase the speed of a MySQL select query?

A. first of all instead of using select * from table1, use select column1, column2, column3.. from table1 Look for the opportunity to introduce index in the table you are querying. use limit keyword if you are looking for any specific number of rows from the result set.

Q. How many ways can we get the value of current session id?

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

Q. How can we destroy the session, how can we unset the variable of a session?

A. session_unregister – Unregister a global variable from the current session
session_unset – Free all session variables

Q. How can we set and destroy the cookie n php?

A. By using setcookie(name, value, expire, path, domain); function we can set the cookie in php ;
Set the cookies in past for destroy. like
setcookie(“user”, “sandy”, time()+3600); for set the cookie
setcookie(“user”, “”, time()-3600); for destroy or delete the cookies;

Q. How many ways we can pass the variable through the navigation between the pages?

A. GET/QueryString, POST

Q. What is the difference between ereg_replace() and eregi_replace()?

A. eregi_replace() function is identical to ereg_replace() except that this ignores case distinction when matching alphabetic characters.eregi_replace() function is identical to ereg_replace() except that this ignores case distinction when matching alphabetic characters.

Q. What are the different functions in sorting an array?

A. Sort(), arsort(),
asort(), ksort(),
natsort(), natcasesort(),
rsort(), usort(),
array_multisort(), and
uksort().

Q. How can we know the count/number of elements of an array?

A. 2 ways
a) sizeof($urarray) This function is an alias of count()
b) count($urarray)

Q. what is session_set_save_handler in PHP?

A. session_set_save_handler() sets the user-level session storage functions which are used for storing and retrieving data associated with a session. This is most useful when a storage method other than those supplied by PHP sessions is preferred. i.e. Storing the session data in a local database.

Q. How can I know that a variable is a number or not using a JavaScript?

A. bool is_numeric ( mixed var)
Returns TRUE if var is a number or a numeric string, FALSE otherwise.or use isNaN(mixed var)The isNaN() function is used to check if a value is not a number.