Bird
Raised Fist0
PHPprogramming~20 mins

Array search functions in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Search Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this PHP code using array_search?
Consider the following PHP code snippet. What will it output?
PHP
<?php
$array = ['apple', 'banana', 'cherry'];
$pos = array_search('banana', $array);
echo $pos;
?>
A0
B1
C2
Dfalse
Attempts:
2 left
💡 Hint
Remember that array_search returns the key of the found element.
❓ Predict Output
intermediate
2:00remaining
What does array_search return when the element is not found?
What will this PHP code output?
PHP
<?php
$array = ['red', 'green', 'blue'];
$result = array_search('yellow', $array);
var_dump($result);
?>
Abool(false)
Bint(0)
CNULL
Dstring('')
Attempts:
2 left
💡 Hint
Check what array_search returns if the value is not found.
🔧 Debug
advanced
2:00remaining
Why does this array_search code produce unexpected output?
Look at this PHP code. It tries to find the key of the value 0 in the array. What is the output and why?
PHP
<?php
$array = [0 => 'zero', 1 => 'one', 2 => 'two'];
$key = array_search(0, $array);
echo $key === false ? 'Not found' : $key;
?>
A0
B2
CNot found
D1
Attempts:
2 left
💡 Hint
Check the types of values in the array and what is searched.
❓ Predict Output
advanced
2:00remaining
What is the output when using strict comparison in array_search?
What will this PHP code output?
PHP
<?php
$array = ['1', '2', '3'];
$key = array_search(1, $array, true);
echo $key === false ? 'Not found' : $key;
?>
ANot found
B1
C0
D2
Attempts:
2 left
💡 Hint
Strict comparison checks both value and type.
🧠 Conceptual
expert
2:00remaining
How many elements are in the array after this code?
What is the number of elements in the array after this PHP code runs?
PHP
<?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];
$key = array_search(2, $array);
if ($key !== false) {
    unset($array[$key]);
}
echo count($array);
?>
A0
B1
C3
D2
Attempts:
2 left
💡 Hint
Removing one element reduces the count by one.

Practice

(1/5)
1. Which PHP function returns the key of a value in an array if found, or false if not found?
easy
A. in_array
B. array_search
C. array_key_exists
D. array_keys

Solution

  1. Step 1: Understand function purpose

    array_search looks for a value and returns its key if found.
  2. Step 2: Compare with other functions

    in_array returns true/false, not key; array_key_exists checks keys; array_keys returns all keys.
  3. Final Answer:

    array_search -> Option B
  4. Quick Check:

    Key returned by array_search = array_search [OK]
Hint: array_search returns key, in_array returns true/false [OK]
Common Mistakes:
  • Confusing array_search with in_array
  • Thinking array_key_exists returns value
  • Assuming array_keys searches values
2. Which of the following is the correct syntax to check if the value 5 exists in array $arr using in_array?
easy
A. in_array(5, $arr);
B. in_array($arr, 5);
C. in_array($arr => 5);
D. in_array(5 => $arr);

Solution

  1. Step 1: Recall in_array syntax

    The correct syntax is in_array(value, array).
  2. Step 2: Match syntax with options

    in_array(5, $arr); matches in_array(5, $arr); which is correct.
  3. Final Answer:

    in_array(5, $arr); -> Option A
  4. Quick Check:

    in_array(value, array) = in_array(5, $arr) [OK]
Hint: Remember in_array(value, array) order [OK]
Common Mistakes:
  • Swapping parameters order
  • Using arrow syntax instead of comma
  • Passing array as first argument
3. What is the output of the following PHP code?
$arr = ['apple', 'banana', 'cherry'];
$key = array_search('banana', $arr);
echo $key;
medium
A. 0
B. banana
C. false
D. 1

Solution

  1. Step 1: Understand array_search behavior

    It returns the key of the searched value if found.
  2. Step 2: Check array keys and searched value

    Array keys are 0=>'apple', 1=>'banana', 2=>'cherry'. Searching 'banana' returns key 1.
  3. Final Answer:

    1 -> Option D
  4. Quick Check:

    array_search('banana', $arr) = 1 [OK]
Hint: array_search returns index/key of found value [OK]
Common Mistakes:
  • Expecting value instead of key
  • Confusing false with 0
  • Assuming it returns boolean
4. Identify the error in the following PHP code snippet:
$arr = ['x' => 10, 'y' => 20];
if (array_search(30, $arr)) {
    echo 'Found';
} else {
    echo 'Not Found';
}
medium
A. array_search returns false but condition treats 0 as false
B. array_search returns key but 30 is not in array, so condition fails correctly
C. array_search should be replaced with in_array for this check
D. No error, code works as expected

Solution

  1. Step 1: Analyze array_search return and condition

    array_search returns key or false. If key is 0, condition fails because 0 is falsey.
  2. Step 2: Check searched value presence

    30 is not in array, so array_search returns false, condition is false, prints 'Not Found'. But if value was at key 0, condition would fail incorrectly.
  3. Step 3: Suggest correct function for boolean check

    Use in_array which returns true/false directly for presence check.
  4. Final Answer:

    array_search should be replaced with in_array for this check -> Option C
  5. Quick Check:

    Use in_array for boolean presence check [OK]
Hint: Use in_array for true/false presence checks [OK]
Common Mistakes:
  • Using array_search in if without strict check
  • Ignoring 0 key treated as false
  • Not using === to check false
5. Given the array $data = ['a' => 0, 'b' => false, 'c' => null, 'd' => '0'];, which function call correctly checks if the value 0 exists in the array considering type?
hard
A. in_array(0, $data, true);
B. array_search(0, $data);
C. in_array(0, $data);
D. array_search('0', $data, true);

Solution

  1. Step 1: Understand strict checking

    Using third parameter true enforces type checking in in_array and array_search.
  2. Step 2: Analyze array values and types

    Values are 0 (int), false (bool), null, and '0' (string). Only strict check distinguishes 0 (int) from others.
  3. Step 3: Choose correct function and parameters

    in_array(0, $data, true) returns true only if exact int 0 found. array_search without strict may confuse types.
  4. Final Answer:

    in_array(0, $data, true); -> Option A
  5. Quick Check:

    Use in_array with strict=true for exact type match [OK]
Hint: Use in_array with strict=true to check exact value and type [OK]
Common Mistakes:
  • Ignoring strict parameter causing false positives
  • Using array_search without strict for type-sensitive check
  • Confusing '0' string with 0 integer
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