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