PHP Interview Question 1

1.What are the differences between == and === in PHP?

In PHP, == and === are comparison operators, but they behave differently:


✅ == (Equality Operator)

  • Compares values only, after type juggling (type conversion if necessary).
  • It does not check the data type.


✅ === (Identity Operator)

  • Compares both value and type.
  • It returns true only if both the value and the type are the same.
var_dump(0 == false);     // true
var_dump(0 === false);    // false
var_dump(null == false);  // false
var_dump(null === false); // false
var_dump("0" == false);   // true (string "0" is falsy)
var_dump("0" === false);  // false

2.How does PHP handle variable scope?

PHP handles variable scope through a set of rules that determine where variables can be accessed or modified. There are four main types of scope in PHP:


Local Scope

Variables declared inside a function are only accessible within that function.

function test() {
    $x = 5; // local scope
    echo $x;
}
test();     // Output: 5
// echo $x; // Error: Undefined variable


Global Scope

Variables declared outside of functions are in the global scope, and not accessible inside functions unless declared as global.

$x = 10;
function showX() {
    global $x;     // brings global $x into function scope
    echo $x;
}
showX(); // Output: 10


Static Scope

Variables declared as static inside a function retain their value between function calls.

function counter() {
    static $count = 0;
    $count++;
    echo $count . "\n";
}
counter(); // Output: 1
counter(); // Output: 2


Superglobals

PHP provides built-in superglobal variables that are accessible everywhere, including inside functions or classes, without needing global.

Examples: $_GET, $_POST, $_SESSION, $_SERVER, $_FILES, $_COOKIE, $_ENV, $_REQUEST, $GLOBALS

$GLOBALS['x'] = 100;
function printGlobal() {
    echo $GLOBALS['x'];
}
printGlobal(); // Output: 100

3. What is the difference between include, require, include_once, and require_once?

In PHP, the include, require, include_once, and require_once statements are used to insert the content of one PHP file into another. Here's the difference between them:


include

  • Includes and evaluates the specified file.
  • If the file is not found, it throws a warning but the script continues executing.
include 'file.php'; // Warning if file not found
echo "Hello World"; // This will still execute


require

  • Also includes and evaluates the specified file.
  • If the file is not found, it throws a fatal error and the script stops execution.
require 'file.php'; // Fatal error if file not found
echo "Hello World"; // This will NOT execute if file is missing


include_once

  • Same as include, but prevents including the same file more than once.
  • Useful for including function or class definitions only once to avoid redeclaration errors.
include_once 'file.php';
include_once 'file.php'; // Ignored the second time


require_once

  • Same as require, but also prevents multiple inclusions.
  • Safer when the file is essential and should only load once.
require_once 'file.php';
require_once 'file.php'; // Ignored the second time



4.Explain references in PHP (&$var). When and why would you use them?

References in PHP (&$var) – Explanation

In PHP, a reference allows two variables to point to the same memory location, so changing one will change the other. It is done using the & (ampersand) symbol.

$a = "Hello";
$b = &$a; // $b is now a reference to $a
$b = "World";
echo $a; // Outputs: World


Explanation:

Changing $b also changes $a, because both reference the same value.


5.When and Why Use References in PHP

Function Arguments (Pass by Reference)

To allow a function to modify the original variable passed to it.

function addOne(&$number) {
    $number += 1;
}
$x = 5;
addOne($x);
echo $x; // Outputs: 6

✅ Useful for performance (e.g., large arrays) or when the function needs to modify the input.

 

Function Returns (Return by Reference)

To return a reference to a variable (used rarely and cautiously).

function &getValue(&$array) {
    return $array['key'];
}


Looping by Reference

Modify array items directly inside a loop.

$colors = ['red', 'green', 'blue'];
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
print_r($colors); // ['RED', 'GREEN', 'BLUE']


⚠️ Important Notes / Gotchas

  • Always unset reference variables (unset($ref)) after use in loops to avoid unexpected behavior.
  • Overusing references can make code harder to read and debug.
  • Avoid references with immutable values like numbers unless truly needed.



Whereisstuff is simple learing platform for beginer to advance level to improve there skills in technologies.we will provide all material free of cost.you can write a code in runkit workspace and we provide some extrac features also, you agree to have read and accepted our terms of use, cookie and privacy policy.
© Copyright 2024 www.whereisstuff.com. All rights reserved. Developed by whereisstuff Tech.