PHP.nl

substr

substr

Return part of a string

string **substr** string $string int $offset  $length

Returns the portion of specified by the and parameters. string``offset``length

stringThe input string.

offset If is non-negative, the returned string will start at the 'th position in , counting from zero. For instance, in the string '', the character at position is '', the character at position is '', and so forth. offset``offset``string``abcdef``0``a``2``c

   If  is negative, the returned string
   will start at the 'th character
   from the end of .
  `offset``offset``string`


   If  is less than
    characters long, an empty string will be returned.
  `string``offset`


   
  **Voorbeeld: Using a negative **
<?php
echo substr("abcdef", -1), PHP_EOL;    // returns "f"
echo substr("abcdef", -2), PHP_EOL;    // returns "ef"
echo substr("abcdef", -3, 1), PHP_EOL; // returns "d"
?>

length If is given and is positive, the string returned will contain at most characters beginning from (depending on the length of ). length``length``offset``string

   If  is given and is negative, then that many
   characters will be omitted from the end of .
   If  denotes the position of this truncation or
   beyond, an empty string will be returned.
  `length``string``offset`


   If  is given and is ,
   an empty string will be returned.
  `length``0`


   If  is omitted or null, the substring starting from
    until the end of the string will be
   returned.
  `length``offset`

**Voorbeeld: Using a negative **

<?php
echo substr("abcdef", 0, -1), PHP_EOL;  // returns "abcde"
echo substr("abcdef", 2, -1), PHP_EOL;  // returns "cde"
echo substr("abcdef", 4, -4), PHP_EOL;  // returns ""; prior to PHP 8.0.0, false was returned
echo substr("abcdef", -3, -1), PHP_EOL; // returns "de"
?>

Returns the extracted part of , or an empty string. string

Voorbeeld: Basic usage

<?php
echo substr('abcdef', 1), PHP_EOL;     // bcdef
echo substr("abcdef", 1, null), PHP_EOL; // bcdef; prior to PHP 8.0.0, empty string was returned
echo substr('abcdef', 1, 3), PHP_EOL;  // bcd
echo substr('abcdef', 0, 4), PHP_EOL;  // abcd
echo substr('abcdef', 0, 8), PHP_EOL;  // abcdef
echo substr('abcdef', -1, 1), PHP_EOL; // f

// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0], PHP_EOL;                 // a
echo $string[3], PHP_EOL;                 // d
echo $string[strlen($string)-1], PHP_EOL; // f

?>

Voorbeeld: casting behaviour

<?php
class apple {
    public function __toString() {
        return "green";
    }
}

echo "1) ", var_export(substr("pear", 0, 2), true), PHP_EOL;
echo "2) ", var_export(substr(54321, 0, 2), true), PHP_EOL;
echo "3) ", var_export(substr(new apple(), 0, 2), true), PHP_EOL;
echo "4) ", var_export(substr(true, 0, 1), true), PHP_EOL;
echo "5) ", var_export(substr(false, 0, 1), true), PHP_EOL;
echo "6) ", var_export(substr("", 0, 1), true), PHP_EOL;
echo "7) ", var_export(substr(1.2e3, 0, 4), true), PHP_EOL;
?>
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) ''
6) ''
7) '1200'

Voorbeeld: Invalid Character Range

If an invalid character range is requested,  returns
an empty string as of PHP 8.0.0; previously, false was returned instead.

substr

<?php
var_dump(substr('a', 2));
?>
string(0) ""
bool(false)

strrchr``substr_replace``preg_match``trim``mb_substr``wordwrapString access and modification by character