Bird
Raised Fist0
PHPprogramming~5 mins

String length and counting in PHP - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: String length and counting
O(n)
Understanding Time Complexity

We want to understand how the time to count characters in a string grows as the string gets longer.

How does the program's work increase when the string size increases?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


$string = "hello world";
$count = 0;
for ($i = 0; $i < strlen($string); $i++) {
    if ($string[$i] === 'l') {
        $count++;
    }
}
echo $count;
    

This code counts how many times the letter 'l' appears in the string.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each character of the string.
  • How many times: Once for every character in the string.
How Execution Grows With Input

As the string gets longer, the program checks each character one by one.

Input Size (n)Approx. Operations
10About 10 checks
100About 100 checks
1000About 1000 checks

Pattern observation: The work grows directly with the string length.

Final Time Complexity

Time Complexity: O(n)

This means the time to count characters grows in a straight line as the string gets longer.

Common Mistake

[X] Wrong: "Counting characters takes the same time no matter the string length."

[OK] Correct: The program must look at each character, so longer strings take more time.

Interview Connect

Understanding how counting characters scales helps you explain how programs handle text efficiently.

Self-Check

"What if we used a function that counts characters without looping explicitly? How would the time complexity change?"

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