Bird
Raised Fist0
PHPprogramming~20 mins

String length and counting in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Length Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of strlen with multibyte characters
What is the output of this PHP code?
$str = "café";
echo strlen($str);
PHP
$str = "café";
echo strlen($str);
A3
B4
C6
D5
Attempts:
2 left
💡 Hint
strlen counts bytes, not characters, in PHP.
❓ Predict Output
intermediate
2:00remaining
Counting occurrences of a character
What does this PHP code output?
$text = "hello world";
echo substr_count($text, "l");
PHP
$text = "hello world";
echo substr_count($text, "l");
A4
B2
C1
D3
Attempts:
2 left
💡 Hint
Count how many times 'l' appears in "hello world".
❓ Predict Output
advanced
2:00remaining
Difference between strlen and mb_strlen
What is the output of this PHP code?
$str = "naïve";
echo strlen($str) . "," . mb_strlen($str);
PHP
$str = "naïve";
echo strlen($str) . "," . mb_strlen($str);
A6,5
B5,5
C6,6
D5,6
Attempts:
2 left
💡 Hint
strlen counts bytes, mb_strlen counts characters.
❓ Predict Output
advanced
2:00remaining
Counting substring occurrences with overlapping
What is the output of this PHP code?
$text = "aaaaa";
echo substr_count($text, "aa");
PHP
$text = "aaaaa";
echo substr_count($text, "aa");
A3
B5
C2
D4
Attempts:
2 left
💡 Hint
substr_count does not count overlapping substrings.
🧠 Conceptual
expert
2:00remaining
Why use mb_strlen over strlen?
Which statement best explains why mb_strlen is preferred over strlen for UTF-8 strings in PHP?
Amb_strlen is faster than strlen for all strings.
Bmb_strlen counts the number of characters correctly in multibyte strings, while strlen counts bytes.
Cstrlen can only be used with ASCII strings, mb_strlen only with UTF-16 strings.
Dstrlen automatically converts strings to lowercase before counting.
Attempts:
2 left
💡 Hint
Think about how UTF-8 characters can use multiple bytes.

Practice

(1/5)
1. What does the PHP function strlen() do?
easy
A. It removes spaces from a string.
B. It converts a string to uppercase.
C. It splits a string into an array.
D. It returns the number of characters in a string.

Solution

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

    The strlen() function counts all characters in a string, including letters, spaces, and symbols.
  2. Step 2: Compare with other options

    Other options describe different string functions, not strlen().
  3. Final Answer:

    It returns the number of characters in a string. -> Option D
  4. Quick Check:

    strlen() counts characters [OK]
Hint: Remember: strlen() counts all characters in a string [OK]
Common Mistakes:
  • Thinking strlen() changes the string
  • Confusing strlen() with string splitting
  • Assuming it removes spaces
2. Which of the following is the correct syntax to get the length of a string stored in variable $text?
easy
A. strlen($text);
B. size($text);
C. count($text);
D. length($text);

Solution

  1. Step 1: Identify the correct function for string length

    In PHP, strlen() is the built-in function to get string length.
  2. Step 2: Check syntax correctness

    strlen($text); correctly calls the function with the variable.
  3. Final Answer:

    strlen($text); -> Option A
  4. Quick Check:

    Use strlen() with parentheses and variable [OK]
Hint: Use strlen() with parentheses around the variable [OK]
Common Mistakes:
  • Using length() which is not a PHP function
  • Using count() which is for arrays
  • Forgetting parentheses
3. What will be the output of the following PHP code?
$str = "Hello World!";
echo strlen($str);
medium
A. 12
B. 10
C. 11
D. 13

Solution

  1. Step 1: Count characters in the string including spaces and punctuation

    The string "Hello World!" has 12 characters: 5 letters + 1 space + 5 letters + 1 exclamation mark.
  2. Step 2: Confirm strlen() counts all characters

    strlen($str) returns 12 because it counts every character.
  3. Final Answer:

    12 -> Option A
  4. Quick Check:

    Count all characters including spaces and punctuation [OK]
Hint: Count every character including spaces and symbols [OK]
Common Mistakes:
  • Ignoring spaces in count
  • Forgetting punctuation counts
  • Assuming strlen() excludes special characters
4. Identify the error in the following PHP code that tries to print the length of a string:
$text = "PHP Rocks!";
echo strlen $text;
medium
A. Missing semicolon after echo
B. strlen() function call missing parentheses
C. Variable name is incorrect
D. String is not enclosed in quotes

Solution

  1. Step 1: Check function call syntax

    In PHP, functions require parentheses around their arguments. Here, strlen is called without parentheses.
  2. Step 2: Verify other parts of the code

    The variable name and string are correct, and semicolon is present after echo statement.
  3. Final Answer:

    strlen() function call missing parentheses -> Option B
  4. Quick Check:

    Always use parentheses when calling functions [OK]
Hint: Functions need parentheses even with one argument [OK]
Common Mistakes:
  • Omitting parentheses in function calls
  • Confusing variable names
  • Missing semicolon after statements
5. You want to check if a user's input stored in $input is exactly 8 characters long. Which PHP code correctly performs this check?
hard
A. if (strlen($input) > 8) { echo "Valid length"; } else { echo "Invalid length"; }
B. if (count($input) == 8) { echo "Valid length"; } else { echo "Invalid length"; }
C. if (strlen($input) == 8) { echo "Valid length"; } else { echo "Invalid length"; }
D. if (strlen($input) != 8) { echo "Valid length"; } else { echo "Invalid length"; }

Solution

  1. Step 1: Use strlen() to get string length

    The function strlen($input) returns the number of characters in the input string.
  2. Step 2: Compare length to 8 exactly

    The condition strlen($input) == 8 checks if the length is exactly 8 characters.
  3. Step 3: Understand other options

    if (count($input) == 8) { echo "Valid length"; } else { echo "Invalid length"; } uses count() which is for arrays, not strings. if (strlen($input) > 8) { echo "Valid length"; } else { echo "Invalid length"; } checks if length is greater than 8, not equal. if (strlen($input) != 8) { echo "Valid length"; } else { echo "Invalid length"; } reverses logic.
  4. Final Answer:

    if (strlen($input) == 8) { echo "Valid length"; } else { echo "Invalid length"; } -> Option C
  5. Quick Check:

    Use strlen() == 8 to check exact length [OK]
Hint: Use strlen() == 8 to check exact string length [OK]
Common Mistakes:
  • Using count() on strings
  • Using > or != instead of == for exact match
  • Confusing string length with array size
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