Bird
Raised Fist0
PHPprogramming~10 mins

String replace functions in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - String replace functions
Start with original string
↓
Call string replace function
↓
Search for target substring
↓
Replace substring
↓
Return modified string
↓
End
The string replace function searches the original string for a target substring. If found, it replaces it with a new substring and returns the modified string. If not found, it returns the original string unchanged.
Execution Sample
PHP
<?php
$original = "Hello world!";
$modified = str_replace("world", "PHP", $original);
echo $modified;
?>
This code replaces the word 'world' with 'PHP' in the original string and prints the result.
Execution Table
StepActionInput StringSearch SubstringReplace SubstringResult StringOutput
1Start with original stringHello world!Hello world!
2Call str_replace functionHello world!worldPHP
3Search for 'world' in stringHello world!worldPHPFound at position 6
4Replace 'world' with 'PHP'Hello world!worldPHPHello PHP!
5Return modified stringHello world!worldPHPHello PHP!Hello PHP!
6Print outputHello world!worldPHPHello PHP!Hello PHP!
💡 Replacement done and modified string returned and printed.
Variable Tracker
VariableStartAfter str_replaceFinal
$original"Hello world!""Hello world!""Hello world!"
$modifiedundefined"Hello PHP!""Hello PHP!"
Key Moments - 2 Insights
Why does the original string $original not change after str_replace?
Because str_replace returns a new string with replacements and does not modify the original string variable. See execution_table step 5 where $modified gets the new string but $original stays the same.
What happens if the search substring is not found in the original string?
The function returns the original string unchanged. This is shown in execution_table step 3 where if 'world' was not found, the original string would be returned without changes.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of $modified after step 4?
A"Hello PHP!"
B"Hello world!"
C"PHP world!"
D"Hello!"
💡 Hint
Check the 'Result String' column at step 4 in execution_table.
At which step does the function confirm the substring 'world' is found?
AStep 2
BStep 3
CStep 5
DStep 6
💡 Hint
Look at the 'Output' column in execution_table for the step that mentions 'Found at position'.
If the search substring was 'planet' instead of 'world', what would $modified be after str_replace?
A"Hello PHP!"
B"Hello planet!"
C"Hello world!"
D"PHP planet!"
💡 Hint
Refer to key_moments about what happens if the substring is not found.
Concept Snapshot
str_replace(search, replace, string) replaces all occurrences of search with replace in string.
Returns a new string; original string stays unchanged.
If search not found, returns original string.
Useful for simple text substitutions.
Full Transcript
This example shows how PHP's str_replace function works. We start with the original string 'Hello world!'. The function searches for the substring 'world'. It finds it at position 6. Then it replaces 'world' with 'PHP', creating 'Hello PHP!'. The function returns this new string, which we store in $modified. The original string $original remains unchanged. Finally, we print the modified string. If the search substring was not found, the function would return the original string unchanged.

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