Bird
Raised Fist0
PHPprogramming~5 mins

String comparison functions in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the PHP function strcmp() do?

strcmp() compares two strings exactly and returns:

  • 0 if both strings are equal
  • A negative number if the first string is less than the second
  • A positive number if the first string is greater than the second
Click to reveal answer
beginner
How is strcasecmp() different from strcmp()?

strcasecmp() compares two strings ignoring case differences, while strcmp() is case-sensitive.

Click to reveal answer
intermediate
What does strncmp() do in PHP?

strncmp() compares up to a specified number of characters from two strings. It returns 0 if the compared parts are equal.

Click to reveal answer
beginner
Explain the return values of strcmp() with an example.

Example: strcmp('apple', 'banana') returns a negative number because 'apple' is less than 'banana' alphabetically.

Return values:

  • 0 if equal
  • <0 if first string < second string
  • >0 if first string > second string
Click to reveal answer
beginner
Why use strcasecmp() instead of strcmp()?

Use strcasecmp() when you want to compare strings without caring about uppercase or lowercase letters, like comparing user input where case should not matter.

Click to reveal answer
What does strcmp('Hello', 'hello') return?
A0
BA positive number
CA negative number
DBoolean true
Which function compares strings ignoring case?
Astrcasecmp()
Bstrncmp()
Cstrcmp()
Dstrncasecmp()
What does strncmp('apple', 'apricot', 3) return?
ABoolean false
BPositive number
CNegative number
D0
Which function compares only the first N characters of two strings?
Astrncmp()
Bstrcmp()
Cstrcasecmp()
Dstr_replace()
If strcmp($a, $b) returns 0, what does it mean?
A$a is less than $b
B$a and $b are equal
C$a is greater than $b
DComparison failed
Describe how strcmp() works and what its return values mean.
Think about how two words are ordered in a dictionary.
You got /4 concepts.
    When would you use strcasecmp() instead of strcmp()?
    Consider comparing names or emails where uppercase and lowercase letters should not matter.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which PHP function compares two strings in a case-sensitive way and returns 0 if they are exactly equal?
      easy
      A. strncmp
      B. strcasecmp
      C. strncasecmp
      D. strcmp

      Solution

      1. Step 1: Understand case sensitivity in string comparison

        strcmp compares two strings exactly, including case.
      2. Step 2: Identify function behavior

        strcmp returns 0 if strings are exactly equal, considering case.
      3. Final Answer:

        strcmp -> Option D
      4. Quick Check:

        Case-sensitive compare = strcmp [OK]
      Hint: Case matters? Use strcmp or strncmp [OK]
      Common Mistakes:
      • Confusing strcmp with strcasecmp (case-insensitive)
      • Using strncasecmp for full string compare
      • Thinking strcmp ignores case
      2. Which of the following is the correct syntax to compare first 3 characters of two strings ignoring case in PHP?
      easy
      A. strncasecmp($str1, $str2, 3)
      B. strncmp($str1, $str2, 3)
      C. strcasecmp($str1, $str2, 3)
      D. strcmp($str1, $str2, 3)

      Solution

      1. Step 1: Identify function for case-insensitive partial compare

        strncasecmp compares first N characters ignoring case.
      2. Step 2: Check syntax correctness

        strncasecmp($str1, $str2, 3) correctly compares first 3 chars case-insensitively.
      3. Final Answer:

        strncasecmp($str1, $str2, 3) -> Option A
      4. Quick Check:

        Partial case-insensitive compare = strncasecmp [OK]
      Hint: Partial + ignore case = strncasecmp [OK]
      Common Mistakes:
      • Using strncmp which is case-sensitive
      • Passing length to strcasecmp (no length param)
      • Using strcmp with length parameter
      3. What will be the output of the following PHP code?
      $result = strcasecmp('Hello', 'hello');
      echo $result;
      medium
      A. -1
      B. 0
      C. 1
      D. Error

      Solution

      1. Step 1: Understand strcasecmp behavior

        It compares strings ignoring case and returns 0 if equal.
      2. Step 2: Compare 'Hello' and 'hello'

        Ignoring case, both strings are equal, so result is 0.
      3. Final Answer:

        0 -> Option B
      4. Quick Check:

        strcasecmp('Hello', 'hello') = 0 [OK]
      Hint: strcasecmp returns 0 if strings equal ignoring case [OK]
      Common Mistakes:
      • Expecting 1 or -1 for equal strings
      • Confusing case-sensitive strcmp with strcasecmp
      • Thinking it throws error for case differences
      4. Identify the error in this PHP code snippet:
      if (strncmp('apple', 'Apple', 5) == 0) {
      echo 'Match';
      } else {
      echo 'No match';
      }
      medium
      A. No error, code works correctly
      B. Use strcasecmp instead of strncmp for case-insensitive compare
      C. Use strncasecmp instead of strncmp for case-insensitive compare
      D. Change 5 to length of shorter string

      Solution

      1. Step 1: Analyze strncmp behavior

        strncmp is case-sensitive, so 'apple' != 'Apple'.
      2. Step 2: Fix for case-insensitive compare

        Use strncasecmp to ignore case in first 5 chars.
      3. Final Answer:

        Use strncasecmp instead of strncmp for case-insensitive compare -> Option C
      4. Quick Check:

        Case-insensitive partial compare needs strncasecmp [OK]
      Hint: strncmp is case-sensitive; use strncasecmp to ignore case [OK]
      Common Mistakes:
      • Assuming strncmp ignores case
      • Using strcasecmp with length parameter
      • Changing length unnecessarily
      5. You want to sort an array of strings alphabetically ignoring case in PHP. Which function is best to use as a comparison callback for usort?
      hard
      A. strcasecmp
      B. strcmp
      C. strncmp
      D. strncasecmp

      Solution

      1. Step 1: Understand sorting with case-insensitivity

        Sorting ignoring case requires a case-insensitive comparison function.
      2. Step 2: Choose correct function for full string compare ignoring case

        strcasecmp compares full strings ignoring case, ideal for sorting.
      3. Final Answer:

        strcasecmp -> Option A
      4. Quick Check:

        Case-insensitive full compare for sorting = strcasecmp [OK]
      Hint: Sort ignoring case? Use strcasecmp as callback [OK]
      Common Mistakes:
      • Using strcmp which is case-sensitive
      • Using strncmp or strncasecmp which compare partial strings
      • Passing no callback to usort
      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