substr

(PHP 4, PHP 5)

substrRetourne un segment de chaîne

Description

string substr ( string $string , int $start [, int $length ] )

Retourne le segment de string défini par start et length.

Liste de paramètres

string

La chaîne d'entrée. Doit comporter au moins un caractère.

start

Si start est positif, la chaîne retournée commencera au caractère numéro start, dans la chaîne string. Le premier caractère est numéroté zéro. En effet, dans la chaîne 'abcdef', le caractère à la position 0 est 'a', le caractère à la position 2 est 'c', et ainsi de suite.

Si start est négatif, la chaîne retournée commencera au caractère numéro start à compter de la fin de la chaîne string.

Si string est plus petit ou égal à start caractères de long, FALSE sera retourné.

Exemple #1 Exemple de start négatif

<?php
$rest = substr("abcdef", -1);	// retourne "f"
$rest = substr("abcdef", -2);	// retourne "ef"
$rest = substr("abcdef", -3, 1); // retourne "d"
?>

length

Si length est fourni et est positif, la chaîne retournée contiendra au plus length caractères, en commençant à partir du caractère start (en fonction de la taille de la chaîne string).

Si length est fourni et négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne string. Si start représente une position hors de la chaîne, une chaîne vide sera retournée.

Si le paramètre length est fourni et vaut 0, FALSE ou NULL, une chaîne vide sera retournée.

Si length est omis, la sous chaine commençant à partir de start jusqu'à la fin sera retournée.

Exemple #2 Utilisation d'une valeur négative pour length

<?php
$rest = substr("abcdef", 0, -1);  // retourne "abcde"
$rest = substr("abcdef", 2, -1);  // retourne "cde"
$rest = substr("abcdef", 4, -4);  // retourne false
$rest = substr("abcdef", -3, -1); // retourne "de"
?>

Valeurs de retour

Retourne la partie extraite de la chaîne ou FALSE si une erreur survient ou une chaine string vide.

Historique

Version Description
5.2.2 - 5.2.6 Si start est hors de la chaine, false est retourné. Les autres versions récupèrent la chaîne depuis le début.

Exemples

Exemple #3 Exemple avec 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

// Accéder à un simple caractère dans une chaîne
// peut également être réalisé en utilisant des crochets
$string = 'abcdef';
echo $string[0];				 // a
echo $string[3];				 // d
echo $string[strlen($string)-1]; // f

?>

Erreurs / Exceptions

Retourne FALSE en cas d'erreur.

<?php
var_dump(substr('a', 1)); // bool(false)
?>

Exemple #4 Comportement du cast avec substr()

<?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;
?>

L'exemple ci-dessus va afficher :

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Voir aussi

LoadingChargement en cours