Bird
Raised Fist0
PHPprogramming~20 mins

String replace functions in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Replace Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of str_replace with overlapping replacements
What is the output of the following PHP code?
PHP
<?php
$text = "abcabc";
$result = str_replace("abc", "x", $text);
echo $result;
?>
Axx
Babcabc
Cxabc
Dxxabc
Attempts:
2 left
💡 Hint
str_replace replaces all occurrences of the search string.
❓ Predict Output
intermediate
2:00remaining
Behavior of str_ireplace with case insensitive replacement
What will be the output of this PHP code?
PHP
<?php
$text = "Hello World!";
$result = str_ireplace("hello", "Hi", $text);
echo $result;
?>
AHi hello World!
Bhello World!
CHello World!
DHi World!
Attempts:
2 left
💡 Hint
str_ireplace ignores case when searching.
❓ Predict Output
advanced
2:00remaining
Output of str_replace with array replacements
What is the output of this PHP code snippet?
PHP
<?php
$text = "I like cats and dogs.";
$result = str_replace(["cats", "dogs"], ["birds", "fish"], $text);
echo $result;
?>
AI like birds and dogs.
BI like birds and fish.
CI like cats and dogs.
DI like fish and birds.
Attempts:
2 left
💡 Hint
When arrays are used, replacements happen pairwise.
❓ Predict Output
advanced
2:00remaining
Result of str_replace when search string is empty
What will this PHP code output?
PHP
<?php
$text = "hello";
$result = str_replace("", "x", $text);
echo $result;
?>
Axhelxloxlo
Bhello
Cxhello
DSyntaxError
Attempts:
2 left
💡 Hint
Replacing an empty string inserts the replacement between every character and at the start and end.
❓ Predict Output
expert
3:00remaining
Output of nested str_replace calls
What is the output of this PHP code?
PHP
<?php
$text = "abc";
$result = str_replace("a", "b", str_replace("b", "c", $text));
echo $result;
?>
Aacc
Bccc
Cbcc
Dbbc
Attempts:
2 left
💡 Hint
Inner str_replace runs first, then outer one.

Practice

(1/5)
1. Which PHP function is used to replace all occurrences of a string with another string?
easy
A. strpos()
B. str_replace()
C. substr()
D. strlen()

Solution

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

    The function str_replace() replaces all occurrences of a search string with a replacement string in a given text.
  2. Step 2: Compare with other functions

    substr() extracts part of a string, strpos() finds position of a substring, strlen() returns string length. None replace text.
  3. Final Answer:

    str_replace() -> Option B
  4. Quick Check:

    Replace text = str_replace() [OK]
Hint: Remember: str_replace replaces text, others do different tasks [OK]
Common Mistakes:
  • Confusing str_replace with substr
  • Using strpos instead of replace
  • Expecting strlen to replace text
2. Which of the following is the correct syntax to replace 'cat' with 'dog' in the string $text using PHP?
easy
A. str_replace('dog', 'cat', $text);
B. replace('cat', 'dog', $text);
C. str_replace($text, 'cat', 'dog');
D. str_replace('cat', 'dog', $text);

Solution

  1. Step 1: Check the correct parameter order of str_replace()

    The correct order is str_replace(search, replace, subject). So 'cat' is search, 'dog' is replace, $text is subject.
  2. Step 2: Validate each option

    str_replace('cat', 'dog', $text); matches correct order. replace('cat', 'dog', $text); uses a non-existent function. str_replace($text, 'cat', 'dog'); swaps parameters incorrectly. str_replace('dog', 'cat', $text); swaps search and replace.
  3. Final Answer:

    str_replace('cat', 'dog', $text); -> Option D
  4. Quick Check:

    str_replace(search, replace, subject) [OK]
Hint: Remember parameter order: search, replace, then subject [OK]
Common Mistakes:
  • Swapping search and replace
  • Using wrong function name
  • Incorrect parameter order
3. What will be the output of the following PHP code?
$text = "I love apples.";
$result = str_replace("apples", "oranges", $text);
echo $result;
medium
A. I love oranges.
B. I love apples.
C. I love apples.oranges
D. Syntax error

Solution

  1. Step 1: Understand str_replace behavior

    str_replace replaces all occurrences of the search string with the replacement string in the given text.
  2. Step 2: Apply replacement to the string

    "apples" is replaced by "oranges" in "I love apples.", resulting in "I love oranges.".
  3. Final Answer:

    I love oranges. -> Option A
  4. Quick Check:

    Replace 'apples' with 'oranges' = I love oranges. [OK]
Hint: str_replace returns new string; echo the result to see changes [OK]
Common Mistakes:
  • Expecting original string unchanged
  • Not assigning result to variable
  • Syntax errors in code
4. Identify the error in the following PHP code snippet:
$text = "Hello world!";
str_replace('world', 'PHP', $text);
echo $text;
medium
A. Missing third argument in str_replace
B. Syntax error in str_replace call
C. str_replace does not modify $text directly
D. echo statement is incorrect

Solution

  1. Step 1: Check str_replace usage

    The str_replace call has the correct three arguments: search='world', replace='PHP', subject=$text.
  2. Step 2: Understand string immutability in PHP

    str_replace returns a new string; it does not change the original string $text unless assigned back, e.g., $text = str_replace('world', 'PHP', $text);
  3. Final Answer:

    str_replace does not modify $text directly -> Option C
  4. Quick Check:

    Assign result to variable to update string [OK]
Hint: Assign str_replace result to variable; original string stays same [OK]
Common Mistakes:
  • Not assigning result back to variable
  • Assuming str_replace changes string in place
5. You want to replace multiple words in a string at once: replace 'red' with 'blue' and 'green' with 'yellow' in $text. Which code correctly does this in PHP?
hard
A. $result = str_replace(['red', 'green'], ['blue', 'yellow'], $text);
B. $result = str_replace('red', 'blue', $text); str_replace('green', 'yellow', $text);
C. $result = str_replace('red', 'blue', $text) && str_replace('green', 'yellow', $text);
D. $result = str_replace('red' => 'blue', 'green' => 'yellow', $text);

Solution

  1. Step 1: Understand str_replace with arrays

    str_replace accepts arrays for search and replace to perform multiple replacements in one call.
  2. Step 2: Analyze each option

    $result = str_replace(['red', 'green'], ['blue', 'yellow'], $text); uses arrays correctly. $result = str_replace('red', 'blue', $text); str_replace('green', 'yellow', $text); performs first replacement but second call discards result and uses original $text, so 'green' remains. $result = str_replace('red', 'blue', $text) && str_replace('green', 'yellow', $text); uses && which returns boolean, not string. $result = str_replace('red' => 'blue', 'green' => 'yellow', $text); uses invalid syntax.
  3. Final Answer:

    $result = str_replace(['red', 'green'], ['blue', 'yellow'], $text); -> Option A
  4. Quick Check:

    Use arrays in str_replace for multiple replacements [OK]
Hint: Use arrays in str_replace to replace many words at once [OK]
Common Mistakes:
  • Using multiple str_replace without chaining
  • Using logical operators instead of chaining
  • Wrong syntax for arrays in str_replace
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