(PHP 4, PHP 5, PHP 7)
substr — Gibt einen Teil eines Strings zurück
$string
, int $start
[, int $length
] ) : string
Gibt den Teil von string
zurück, der durch die
Parameter start
und length
definiert wurde.
string
Die Eingabezeichenkette.
start
Wenn start
nicht negativ ist, beginnt der
zurückgegebene String an der start
-Position von
string
, angefangen bei 0 (Null). So ist z.B.
im String 'abcdef
' das Zeichen an der Position
0
gleich 'a
', das Zeichen an der
Position 2
ist 'c
' usw.
Ist start
negativ, beginnt der zurückgegebene
String bei dem in start
festgelegten Zeichen
vom Ende von string
aus betrachtet.
Ist string
kürzer als
start
Zeichen, wird FALSE
zurückgegeben.
Beispiel #1 Einen negativen start
-Wert verwenden
<?php
$rest = substr("abcdef", -1); // gibt "f" zurück
$rest = substr("abcdef", -2); // gibt "ef" zurück
$rest = substr("abcdef", -3, 1); // gibt "d" zurück
?>
length
Ist length
angegeben und positiv, enthält der
zurückgegebene String höchstens length
Zeichen
ab start
(abhängig von der Länge von
string
).
Ist length
angegeben und negativ, werden
genau so viele Zeichen vom Ende von string
abgeschnitten (nachdem die Startposition ermittelt wurde, sollte
start
negativ sein). Gibt
start
die Position des abzuschneidenden Teiles
oder dahinter an, wird FALSE
zurückgegeben.
Wenn length
gegeben ist und den Wert
0
, FALSE
oder NULL
hat, wird ein leerer String
zurückgegeben.
Wird length
ausgelassen, wird die
Teilzeichenkette beginnend von start
bis zum Ende
der Zeichenkette zurückgegeben.
Beispiel #2 Negativen length
-Wert verwenden
<?php
$rest = substr("abcdef", 0, -1); // gibt "abcde" zurück
$rest = substr("abcdef", 2, -1); // gibt "cde" zurück
$rest = substr("abcdef", 4, -4); // gibt false zurück
$rest = substr("abcdef", -3, -1); // gibt "de" zurück
?>
Gibt den extrahierten Teil von string
zurück.
Im Fehlerfall wird FALSE
zurückgegeben. oder eine leere Zeichenkette.
Beispiel #3 Generelle Verwendung von substr()
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Auf ein einzelnes Zeichen eines Strings kann auch mittels
// eckiger Klammern zugegriffen werden
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>
Beispiel #4 substr() Typumwandlungs Verhalten
<?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;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) '' 6) '' 7) '1200'
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) false 6) false 7) '1200'
Gibt im Fehlerfall FALSE
zurück.
<?php
var_dump(substr('a', 2)); // bool(false)
?>