📖 Scenario: Imagine you are creating a simple system to check if certain items are available in stock. You will use boolean values to represent availability.
🎯 Goal: You will create a list of items with their availability as boolean values, set a threshold for availability, check each item against this threshold, and finally print the availability status.
📋 What You'll Learn
Create an associative array with items and their availability as boolean values
Create a variable to represent the availability threshold
Use a loop to check each item's availability against the threshold
Print the availability status for each item
💡 Why This Matters
🌍 Real World
Boolean values are often used to represent simple yes/no or true/false states, such as availability, on/off switches, or feature toggles in software.
💼 Career
Understanding boolean behavior is essential for programming logic, decision making, and controlling program flow in almost all software development jobs.
Progress0 / 4 steps
1
Create the items availability array
Create an associative array called items with these exact entries: 'apple' => true, 'banana' => false, 'orange' => true
PHP
Hint
Use square brackets to create the array and assign boolean values true or false to each item.
2
Set the availability threshold
Create a boolean variable called threshold and set it to true
PHP
Hint
Just assign the value true to the variable $threshold.
3
Check availability against threshold
Use a foreach loop with variables $item and $available to iterate over $items. Inside the loop, create a boolean variable $isAvailable that is true if $available equals $threshold, otherwise false
PHP
Hint
Use the strict equality operator === to compare booleans.
4
Print the availability status
Inside the foreach loop, add a print statement that outputs: "$item is available" if $isAvailable is true, otherwise "$item is not available"
PHP
Hint
Use an if statement to check $isAvailable and print the correct message.
Practice
(1/5)
1. In PHP, which of the following values is considered true when converted to a boolean?
easy
A. The string "false"
B. The integer 0
C. An empty string ""
D. Any non-zero number
Solution
Step 1: Understand PHP boolean conversion rules
In PHP, zero (0), empty string (""), and the string "0" are considered false. Any non-zero number is true.
Step 2: Evaluate each option
Any non-zero number is a non-zero number, so it converts to true. Options B and C are false values. The string "false" is a non-empty string, so it is true, but "false" as a string is not false boolean.
Final Answer:
Any non-zero number -> Option D
Quick Check:
Non-zero number = true [OK]
Hint: Non-zero numbers are true; zero and empty strings are false [OK]
Common Mistakes:
Thinking string "false" is boolean false
Assuming zero is true
Confusing empty string with true
2. Which of the following is the correct way to explicitly cast a variable $var to boolean in PHP?
easy
A. $bool = boolean($var);
B. $bool = bool($var);
C. $bool = (bool) $var;
D. $bool = to_bool($var);
Solution
Step 1: Recall PHP casting syntax
PHP uses (bool) or (boolean) to cast variables to boolean type. The function bool() or boolean() does not exist.
Step 2: Check each option
$bool = (bool) $var; uses (bool) casting which is correct. Options B, C, and D use invalid function calls.
Final Answer:
$bool = (bool) $var; -> Option C
Quick Check:
Use (bool) for casting [OK]
Hint: Use (bool) before variable to cast to boolean [OK]
Common Mistakes:
Using non-existent functions like bool()
Confusing casting with function calls
Using wrong keywords like boolean()
3. What will be the output of the following PHP code?
Why does it output "No" and how to fix it to check if $value is truthy?
medium
A. Because empty string is false; use (bool)$value in if condition
B. Because == does loose comparison; use === true to fix
C. Because $value is string; cast to int before comparison
D. Because PHP treats all strings as false; use strlen() instead
Solution
Step 1: Understand why empty string is false
In PHP, empty string "" is considered false in boolean context, so if ($value == true) fails.
Step 2: Fix by casting to boolean in condition
Use if ((bool)$value) or simply if ($value) to check truthiness correctly.
Final Answer:
Because empty string is false; use (bool)$value in if condition -> Option A
Quick Check:
Empty string = false; cast to bool to check [OK]
Hint: Empty string is false; cast variable to bool in conditions [OK]
Common Mistakes:
Using == true instead of casting
Assuming all strings are true
Trying to cast string to int unnecessarily
5. You want to filter an array in PHP to keep only truthy values (non-empty, non-zero, etc.). Which code correctly uses boolean behavior to achieve this?
$arr = [0, 1, "", "hello", false, true, null, [], [1]];
$filtered = array_filter($arr, function($v) {
// What to put here?
});
print_r($filtered);
hard
A. return $v == true;
B. return (bool)$v;
C. return $v === true;
D. return !empty($v);
Solution
Step 1: Understand array_filter callback
The callback should return true for values to keep. Casting to (bool) returns true for all truthy values.
Step 2: Compare options
return (bool)$v; casts to boolean correctly. return $v == true; uses loose comparison which may include unwanted values. return $v === true; keeps only true boolean, excluding truthy values. return !empty($v); excludes some truthy values like true boolean but empty arrays are false.
Final Answer:
return (bool)$v; -> Option B
Quick Check:
Cast to bool to filter truthy values [OK]
Hint: Use (bool) cast in filter callback to keep truthy values [OK]
Common Mistakes:
Using strict === true excludes truthy but non-true values
Using == true includes unwanted falsy values
Using empty() excludes some truthy values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.