📖 Scenario: You are building a simple calculator that adds two numbers. To make sure the calculator works correctly, you want to tell PHP exactly what kind of values the calculator should accept.
🎯 Goal: Create a PHP function that adds two numbers using type declarations for the parameters to ensure only numbers are accepted.
📋 What You'll Learn
Create a function named addNumbers with two parameters named $a and $b.
Use type declarations to specify that both $a and $b must be integers.
Call the function with two integer values.
Print the result of the function call.
💡 Why This Matters
🌍 Real World
Type declarations help prevent errors by making sure functions get the right kind of data, which is important in real-world applications like calculators, data processing, and web forms.
💼 Career
Understanding type declarations is useful for writing clear, reliable PHP code, a skill valued in web development jobs.
Progress0 / 4 steps
1
Create the function skeleton
Write a function named addNumbers that takes two parameters named $a and $b without type declarations yet.
PHP
Hint
Use the function keyword followed by the function name and parentheses with parameters.
2
Add type declarations to parameters
Modify the addNumbers function to add type declarations so that both parameters $a and $b are declared as int.
PHP
Hint
Put int before each parameter name inside the parentheses.
3
Add the function logic
Inside the addNumbers function, write code to return the sum of $a and $b.
PHP
Hint
Use the return keyword followed by $a + $b.
4
Call the function and print the result
Call the addNumbers function with the integers 5 and 7, store the result in a variable named $result, and print $result.
PHP
Hint
Use $result = addNumbers(5, 7); and then print($result);.
Practice
(1/5)
1. What does a type declaration for a function parameter in PHP do?
easy
A. It tells PHP what kind of data the function expects for that parameter.
B. It changes the function's return type automatically.
C. It makes the function run faster by optimizing memory.
D. It hides the parameter from being accessed outside the function.
Solution
Step 1: Understand the purpose of type declarations
Type declarations specify the expected data type for function parameters, helping PHP check inputs.
Step 2: Identify what type declarations do not do
They do not change return types, optimize speed, or hide parameters.
Final Answer:
It tells PHP what kind of data the function expects for that parameter. -> Option A
Quick Check:
Type declarations = specify expected parameter type [OK]
Hint: Type declarations specify expected input types for functions [OK]
Common Mistakes:
Thinking type declarations change return types
Believing they improve speed directly
Confusing parameter visibility with type declarations
2. Which of the following is the correct syntax to declare a function parameter as an integer in PHP?
easy
A. function add(integer $a, integer $b) {}
B. function add($int a, $int b) {}
C. function add(int: $a, int: $b) {}
D. function add(int $a, int $b) {}
Solution
Step 1: Recall PHP type declaration syntax
PHP uses the type name followed by the parameter with a $ sign, like int $a.
Step 2: Check each option's syntax
function add(int $a, int $b) {} matches correct syntax. Options A, B, and D use invalid syntax.
Final Answer:
function add(int $a, int $b) {} -> Option D
Quick Check:
Correct syntax = type before $parameter [OK]
Hint: Type before $parameter name, no extra symbols [OK]
Step 1: Understand parameter types and argument passing
The function expects floats. PHP will convert integer 3 to float 3.0 automatically.
Step 2: Calculate the multiplication
3.0 * 4.5 = 13.5, so the function returns 13.5.
Final Answer:
13.5 -> Option A
Quick Check:
3 * 4.5 = 13.5 [OK]
Hint: PHP auto-converts int to float if declared [OK]
Common Mistakes:
Expecting TypeError for int passed to float
Calculating wrong multiplication
Confusing output with integer result
4. Identify the error in this PHP function declaration:
function greet(string name) {
return "Hello, $name!";
}
medium
A. Wrong type declaration keyword
B. Function must return int
C. Missing $ before parameter name
D. No error, code is correct
Solution
Step 1: Check parameter syntax
In PHP, parameter names must start with a $ sign, so string name is incorrect.
Step 2: Identify the correct syntax
The correct syntax is string $name with $ before the parameter name.
Final Answer:
Missing $ before parameter name -> Option C
Quick Check:
Parameter names need $ [OK]
Hint: Parameter names always start with $ in PHP [OK]
Common Mistakes:
Omitting $ before parameter name
Confusing type declaration with variable name
Assuming no $ needed in function parameters
5. Given this function:
function process(array $data, int $limit = 10) {
return array_slice($data, 0, $limit);
}
Which call will cause a TypeError?
hard
A. process([1, 2, 3], 2)
B. process('not an array', 5)
C. process([1, 2, 3])
D. process([1, 2, 3], 0)
Solution
Step 1: Analyze parameter types and defaults
The first parameter must be an array; the second is an int with default 10.
Step 2: Check each call
process([1, 2, 3], 2) passes array and int correctly. process('not an array', 5) passes a string instead of array, causing TypeError. Options A, B, and C pass valid types.
Final Answer:
process('not an array', 5) causes TypeError -> Option B
Quick Check:
First param must be array, string causes error [OK]
Hint: Check argument types match declared parameter types [OK]
Common Mistakes:
Passing wrong type for array parameter
Assuming default values fix type errors
Ignoring parameter order and types
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.