Content · Programming · PHP

PHP strstr() Function: Usage and Examples

Returns the portion of a string beginning with its first matching substring.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

PHP strstr() returns the portion of a string beginning with its first matching substring. The examples below show how the call behaves, where it is useful, and which limitations matter.

What Is strstr() in PHP?


Returns the portion of a string beginning with its first matching substring.

Its call structure is:

strstr($haystack, $needle, [$before_needle])

The arguments identify the values or resources passed to strstr(). Read the examples with attention to the type of each supplied argument and to whether the function modifies its input or returns a separate result.

Example 1: Basic Usage


This example introduces strstr with a direct call and a small, readable input.

<?php

echo strstr("[email protected]", "@");

Output:

@example.test

Returns the portion of a string beginning with its first matching substring. The optional before_needle flag returns the preceding portion; false means no match.

Example 2: Another Behavior or Input


Compare this input with the previous example: changing the data or option can affect how strstr behaves.

<?php

echo strstr("invoice: 35", ":", true);

Output:

invoice

The changed input illustrates why output may differ with the chosen values or environment. The optional before_needle flag returns the preceding portion; false means no match.

Practical Example: Using the Feature


The following example incorporates strstr into a workflow. Values such as paths, connection handles and configuration options must come from trusted application settings.

<?php

$fileName = "record.csv"; $extension = strstr($fileName, "."); if ($extension !== false) { echo substr($extension, 1); }

Output:

csv

In a real application, check each operation result, validate values before use and clean up acquired resources. The optional before_needle flag returns the preceding portion; false means no match.

Important Behavior and Edge Cases


  • Purpose: Returns the portion of a string beginning with its first matching substring.
  • Key limitation: The optional before_needle flag returns the preceding portion; false means no match.
  • Failure handling: Check return values and handle invalid inputs and unavailable operating-system or extension features where relevant.

Comparison With Related Functions


Function or ApproachBest Fit
strstr()Returns the portion of a string beginning with its first matching substring.
strpos()Finds an exact case-sensitive match instead of case-insensitive stripos().

Common Beginner Mistakes


MistakeCorrect Approach
The optional before_needle flag returns the preceding portion; false means no match.The correct approach depends on this behavior: The optional before_needle flag returns the preceding portion; false means no match.
Ignoring errors or cleanup after the operation.Validate inputs and check each result; close files, restore settings or release resources when the operation requires it.

Key Takeaways


  • Returns the portion of a string beginning with its first matching substring.
  • The optional before_needle flag returns the preceding portion; false means no match.
  • Use the examples as starting points, and adapt environmental paths, resources and permissions rather than assuming fixed results.

strstr is useful when its specific behavior fits the problem. The safest implementations combine the correct API with input validation, error checking and resource cleanup.

Share this resourceSend this page to someone who may find it useful.