w3resource

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

string_substr

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

PHP Function Reference

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:

  1. If the function/class is namespaced, the string must contain the fully-qualified name. E.g. ['Vendor\Package\Foo', 'method']
  2. 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();
  3. 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.
  4. 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