Monday, January 4, 2010

PHP interview questions and answers

  1. What does a special set of tags do in PHP? - The output is displayed directly to the browser.
  2. 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.
  3. Would I use print "$a dollars" or "{$a} dollars" to print out the amount of dollars in this example? - In this example it wouldn’t matter, since the variable is all by itself, but if you were to print something like "{$a},000,000 mln dollars", then you definitely need to use the braces.
  4. How do you define a constant? - Via define() directive, like define ("MYCONSTANT", 100);
  5. How do you pass a variable by value? - Just like in C++, put an ampersand in front of it, like $a = &$b


  1. Will comparison of string "10" and integer 11 work in PHP? - Yes, internally PHP will cast everything to the integer type, so numbers 10 and 11 will be compared.
  2. When are you supposed to use endif to end the conditional statement? - When the original if was followed by : and then the code block without braces.
  3. Explain the ternary conditional operator in PHP? - Expression preceding the ? is evaluated, if it’s true, then the expression preceding the : is executed, otherwise, the expression following : is executed.
  4. How do I find out the number of parameters passed into function? - func_num_args() function returns the number of parameters passed in.
  5. If the variable $a is equal to 5 and variable $b is equal to character a, what’s the value of $$b? - 100, it’s a reference to existing variable.
  6. What’s the difference between accessing a class method via -> and via ::? - :: is allowed to access methods that can perform static operations, i.e. those, which do not require object initialization.
  7. Are objects passed by value or by reference? - Everything is passed by value.
  8. How do you call a constructor for a parent class? - parent::constructor($value)
  9. What’s the special meaning of __sleep and __wakeup? - __sleep returns the array of all the variables than need to be saved, while __wakeup retrieves them.
  10. Why doesn’t the following code print the newline properly?                $str = ‘Hello, there.nHow are you?nThanks for visiting TechInterviews’;
                print $str;
        ?>
    Because inside the single quotes the n character is not interpreted as newline, just as a sequence of two characters - and n.

0 comments:

Post a Comment