(PHP 4, PHP 5)
substr — Gibt einen Teil eines Strings zurück
$string
, int $start
[, int $length
] )
Gibt den Teil von string
zurück, der durch die
Parameter start
und length
definiert wurde.
string
Die Eingabezeichenkette. Muss mindestens ein Zeichen lang sein.
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 oder gleich
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 beginned 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 der Zeichenkette zurück.
Im Fehlerfall wird FALSE
zurückgegeben. oder eine leere Zeichenkette.
Version | Beschreibung |
---|---|
5.2.2 - 5.2.6 |
Wenn der start Parameter die Position einer
negativen Trunkierung oder außerhalb bezeichnet, wird false
zurückgegeben. Andere Versionen bekommen die Zeichenkette von start.
|
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:
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', 1)); // bool(false)
?>