PHP: substr() function
Description
The substr() function used to cut a part of a string from a string, starting at a specified position.
Version:
(PHP 4 and above)
Syntax:
substr(string_name, start_pos, length_to_cut)
Parameters:
Name | Description | Required / Optional |
Type |
---|---|---|---|
string_name | The input string. | Required | String |
start_pos | Refers to the position of the string to start cutting. A positive number : Start at the specified position in the string. A negative number : Start at a specified position from the end of the string. |
Required | Integer |
length_to_cut | Length of the string to cut from the main string. A positive number : Start at the specified position in the string. A negative number : Start at a specified position from the end of the string. |
Optional | Integer |
Return value:
Returns the extracted part of string and false when failure.
Value Type: String.
Pictorial Presentation
Example - 1:
<?php
$string1="Welcome to w3resource.com";
echo $string1;
echo '<br>';
echo substr($string1,1);
echo '<br>';
echo substr($string1,1,5);
echo '<br>';
echo substr($string1,0,10);
echo '<br>';
echo substr($string1,-1,1);
echo '<br>';
?>
Output:
Welcome to w3resource.com elcome to w3resource.com elcom Welcome to m
View the example in the browser
Example - 2 :
<?php
$string1="Welcome to w3resource.com";
echo $string1;
echo '<br>';
echo substr($string1,0,-1);
echo '<br>';
echo substr($string1,3,-3);
echo '<br>';
echo substr($string1,4,-4);
echo '<br>';
echo substr($string1,-3,-2);
echo '<br>';
?>
Output :
Welcome to w3resource.com Welcome to w3resource.co come to w3resource. ome to w3resource c
View the example in the browser
Example - 3 :
<?php
$string1="Welcome to w3resource.com";
echo $string1;
echo '<br>';
echo substr($string1,-1);
echo '<br>';
echo substr($string1,-4);
echo '<br>';
echo substr($string1,-5,1);
?>
Output :
Welcome to w3resource.com m .com e
View the example in the browser
See also
Previous: substr_replace
Next: trim
PHP: Tips of the Day
PHP - How do I implement a callback in PHP?
The manual uses the terms "callback" and "callable" interchangeably, however, "callback" traditionally refers to a string or array value that acts like a function pointer, referencing a function or class method for future invocation. This has allowed some elements of functional programming since PHP 4. The flavors are:
$cb1 = 'someGlobalFunction'; $cb2 = ['ClassName', 'someStaticMethod']; $cb3 = [$object, 'somePublicMethod']; // this syntax is callable since PHP 5.2.3 but a string containing it // cannot be called directly $cb2 = 'ClassName::someStaticMethod'; $cb2(); // fatal error // legacy syntax for PHP 4 $cb3 = array(&$object, 'somePublicMethod');
This is a safe way to use callable values in general:
if (is_callable($cb2)) { // Autoloading will be invoked to load the class "ClassName" if it's not // yet defined, and PHP will check that the class has a method // "someStaticMethod". Note that is_callable() will NOT verify that the // method can safely be executed in static context. $returnValue = call_user_func($cb2, $arg1, $arg2); }
Modern PHP versions allow the first three formats above to be invoked directly as $cb(). call_user_func and call_user_func_array support all the above.
Notes/Caveats:
- If the function/class is namespaced, the string must contain the fully-qualified name. E.g. ['Vendor\Package\Foo', 'method']
- call_user_func does not support passing non-objects by reference, so you can either use call_user_func_array or, in later PHP versions, save the callback to a var and use the direct syntax: $cb();
- Objects with an __invoke() method (including anonymous functions) fall under the category "callable" and can be used the same way, but I personally don't associate these with the legacy "callback" term.
- The legacy create_function() creates a global function and returns its name. It's a wrapper for eval() and anonymous functions should be used instead.
Ref : https://bit.ly/2Zmqil0
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- React - JavaScript Library
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework