What does a special set of tags <?= and ?> do in PHP?
– The output is displayed directly to the browser.
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.
I am trying to assign a variable the value of 0123, but it keeps coming up with a different number, what’s the problem?
– PHP Interpreter treats numbers beginning with 0 as octal. Look at the similar PHP interview questions for more numeric problems.
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.
How do you define a constant?
– Via define() directive, like define (“MYCONSTANT”, 100);
How do you pass a variable by value?
– Just like in C++, put an ampersand in front of it, like $a = &$b
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.
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.
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.
How do I find out the number of parameters passed into function?
– func_num_args() function returns the number of parameters passed in.
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.
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.
Are objects passed by value or by reference?
– Everything is passed by value.
How do you call a constructor for a parent class?
– parent::constructor($value)
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.
Why doesn’t the following code print the newline properly? <?php
$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.
Would you initialize your strings with single quotes or double quotes?
– Since the data inside the single-quoted string is not parsed for variable substitution, it’s always a better idea speed-wise to initialize a string with single quotes, unless you specifically need variable substitution.
How come the code <?php print “Contents: $arr[1]“; ?> works, but <?php print “Contents: $arr[1][2]“; ?> doesn’t for two-dimensional array of mine?
– Any time you have an array with more than one dimension, complex parsing syntax is required. print “Contents: {$arr[1][2]}” would’ve worked.
What is the difference between characters �23 and x23?
– The first one is octal 23, the second is hex 23.
With a heredoc syntax, do I get variable substitution inside the heredoc contents?
– Yes.