Bird
Raised Fist0
PHPprogramming~10 mins

Gettype and typeof checks in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Gettype and typeof checks
Start
↓
Variable defined
↓
Use gettype()
↓
Output type as string
↓
Use get_debug_type() (PHP 8.0+)
↓
Output type as string
↓
End
The program defines a variable, then uses gettype() and get_debug_type() to check and output its type as a string.
Execution Sample
PHP
<?php
$var = 123;
echo gettype($var) . "\n";
echo get_debug_type($var) . "\n";
?>
This code sets a variable to 123, then prints its type using gettype() and get_debug_type().
Execution Table
StepActionVariableFunction CalledResultOutput
1Define variable$varN/A123 (integer)N/A
2Call gettype()$vargettype($var)"integer"integer
3Call get_debug_type()$varget_debug_type($var)"int"int
4EndN/AN/AN/AN/A
💡 All steps completed, variable type checked by both functions.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
$varundefined123 (int)123 (int)123 (int)123 (int)
Key Moments - 2 Insights
Why does gettype() return "integer" but get_debug_type() returns "int"?
gettype() returns the full type name as a string like "integer", while get_debug_type() returns a shorter alias like "int". See execution_table steps 2 and 3.
Can get_debug_type() be used in all PHP versions?
No, get_debug_type() was introduced in PHP 8.0. gettype() works in all versions. This is why get_debug_type() is called after gettype() in the execution.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output of gettype($var) at step 2?
A"string"
B"int"
C"integer"
D"number"
💡 Hint
Check the 'Output' column in execution_table row for step 2.
At which step does the variable $var get defined?
AStep 1
BStep 2
CStep 3
DStep 4
💡 Hint
Look at the 'Action' and 'Variable' columns in execution_table.
If $var was a string "hello", what would gettype($var) output?
A"int"
B"string"
C"integer"
D"bool"
💡 Hint
gettype() returns the type name as a string, see how it outputs "integer" for an int in execution_table step 2.
Concept Snapshot
PHP gettype() returns the type of a variable as a string like "integer".
PHP get_debug_type() (PHP 8.0+) returns a shorter type name like "int".
Use gettype() for compatibility with older PHP versions.
Both help check variable types during debugging or logic.
Example: gettype(123) -> "integer", get_debug_type(123) -> "int".
Full Transcript
This example shows how PHP checks variable types using gettype() and get_debug_type(). First, a variable $var is set to 123, an integer. Then gettype($var) is called, which returns the string "integer". Next, get_debug_type($var) is called, returning "int". The difference is that gettype() returns the full type name, while get_debug_type() returns a shorter alias. get_debug_type() requires PHP 8.0 or newer. This helps programmers understand what type a variable holds at runtime.

Practice

(1/5)
1. What does the PHP function gettype() return when called on a variable?
easy
A. A string describing the variable's type
B. An integer representing the type code
C. A boolean indicating if the variable is set
D. An object describing the variable

Solution

  1. Step 1: Understand the purpose of gettype()

    The gettype() function returns the type of a variable as a string, such as "integer", "string", or "array".
  2. Step 2: Compare options with gettype() behavior

    The option stating that it returns a string describing the variable's type is correct.
  3. Final Answer:

    A string describing the variable's type -> Option A
  4. Quick Check:

    gettype() = string description [OK]
Hint: Remember: gettype() always returns a string type name [OK]
Common Mistakes:
  • Thinking gettype() returns a numeric code
  • Confusing gettype() with isset()
  • Assuming gettype() returns an object
2. Which of the following is the correct syntax to get the type of a variable $var using gettype() in PHP?
easy
A. gettype $var;
B. typeof $var;
C. typeof($var);
D. gettype($var);

Solution

  1. Step 1: Recall correct function syntax in PHP

    PHP functions require parentheses around arguments, so gettype($var); is correct syntax.
  2. Step 2: Check other options for syntax errors

    Syntax using typeof is invalid because it is not a PHP function. gettype $var; misses parentheses, which is invalid syntax.
  3. Final Answer:

    gettype($var); -> Option D
  4. Quick Check:

    Function call syntax = gettype($var) [OK]
Hint: Use parentheses with function calls in PHP [OK]
Common Mistakes:
  • Using typeof instead of gettype()
  • Omitting parentheses in function calls
  • Confusing PHP syntax with JavaScript
3. What will be the output of the following PHP code?
$x = 3.14;
echo gettype($x);
medium
A. integer
B. double
C. float
D. string

Solution

  1. Step 1: Identify the variable type

    The variable $x is assigned 3.14, which is a floating-point number.
  2. Step 2: Understand gettype() output for floats

    In PHP, gettype() returns "double" for floating-point numbers, not "float".
  3. Final Answer:

    double -> Option B
  4. Quick Check:

    gettype(3.14) = double [OK]
Hint: Remember: PHP calls floats "double" in gettype() output [OK]
Common Mistakes:
  • Expecting output to be "float" instead of "double"
  • Confusing integer and float types
  • Assuming gettype() returns "string" for numbers
4. Consider this PHP code snippet:
$value = true;
if (typeof($value) === 'boolean') {
echo 'Boolean type';
} else {
echo 'Not boolean';
}

What is the problem with this code?
medium
A. typeof is not a valid PHP function
B. Comparison operator === cannot be used with strings
C. Boolean values cannot be checked with typeof
D. The variable $value is not defined

Solution

  1. Step 1: Check if typeof is a PHP function

    PHP does not have a built-in typeof() function; it uses gettype() instead.
  2. Step 2: Analyze the impact of using typeof()

    Using typeof() causes a fatal error because the function does not exist.
  3. Final Answer:

    typeof is not a valid PHP function -> Option A
  4. Quick Check:

    typeof() invalid in PHP [OK]
Hint: Use gettype(), not typeof(), in PHP [OK]
Common Mistakes:
  • Assuming typeof() exists in PHP like in JavaScript
  • Thinking === cannot compare strings
  • Ignoring variable initialization
5. In PHP 8.0+, the typeof operator returns a Type object instead of a string. Given this code:
$var = [1, 2, 3];
$type = typeof $var;
echo $type->name;

What will be the output?
hard
A. Type
B. object
C. error
D. array

Solution

  1. Step 1: Verify typeof in PHP 8.0+

    PHP has no typeof operator or function in 8.0+ or any version; use gettype() instead.
  2. Step 2: Predict code execution

    The undefined typeof causes a fatal error (e.g., "Call to undefined function"). No echo output.
  3. Final Answer:

    error -> Option C
  4. Quick Check:

    typeof invalid in PHP [OK]
Hint: PHP has no typeof; use gettype() [OK]
Common Mistakes:
  • Believing typeof exists in PHP 8.0+
  • Confusing PHP with JavaScript's typeof
  • Expecting a Type object return
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard