The substr() function is one of PHP’s most used tools for working with strings. It helps extract parts of a string, and while it’s powerful, its syntax can be tricky for beginners. Let’s break it down.


🔍 Function Signature

substr(string $string, int $offset, ?int $length = null): string
  • $string – The string to work with.
  • $offset – Where to start.
  • ?int $length = null – Optional. How many characters to return.
  • : string – This function always returns a string.

🤔 What Does ?int $length = null Mean?

This parameter is optional:

  • ?int means it can be an int or null.
  • = null makes it optional—if omitted, the function returns everything from the $offset to the end.

Example:

$myString = "Hello, world!";
echo substr($myString, 7); // Output: "world!"

With length provided:

echo substr($myString, 7, 5); // Output: "world"

🔄 What About : string?

This is a return type declaration.

It means no matter what happens, substr() will return a string—even an empty one if the offset is too large.

Example:

echo substr($myString, 20); // Output: ""

No error. Just an empty string.


✅ Why This Matters

  • Makes your code cleaner and less error-prone.
  • You can confidently omit $length.
  • You always know the return type will be a string—no surprises.

🧠 Quiz Time!

1. What happens if $length is omitted or set to null?

  • A) It causes an error.
  • B) It extracts from $offset to the end.
  • C) It returns the entire string.
  • D) It returns an empty string.

2. What does : string mean in the function signature?

  • A) Accepts string or int as input.
  • B) Always returns a string.
  • C) Returns multiple types.
  • D) Returns null or string.

🎉 Conclusion

substr() is flexible and beginner-friendly once you understand its syntax. Whether you’re trimming strings or slicing text, knowing how optional parameters and return types work is key.

Happy coding!


<
Previous Post
👋 Welcome to My Blog!
>
Next Post
🌟 JavaScript’s substring() Method: A Quick Guide