array explode(string $separator, string $string, int $limit = PHP_INT_MAX)
$ séparateur : le délimiteur spécifié (type de chaîne) est utilisé pour déterminer où diviser la chaîne d'origine;
$ String : la chaîne d'origine qui doit être divisée;
$ limit (facultatif): utilisé pour limiter le nombre d'éléments renvoyés au tableau. Si ce paramètre est défini:
Être un nombre positif, ne renvoyer pas plus de $ Limit Elements et le dernier élément contiendra la chaîne restante;
S'il s'agit d'un nombre négatif, le nombre d'éléments spécifié sera ignoré de la fin;
Si 0 est retourné, un tableau vide (à partir de PHP 8.0.0).
<?php
$input = "apple,banana,orange";
$result = explode(",", $input);
print_r($result);
?>
Sortir:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Cet exemple montre comment diviser une liste de fruits séparée par des virgules en un tableau d'éléments de chaîne unique.
<?php
$input = "one|two|three|four";
$result = explode("|", $input, 3);
print_r($result);
?>
Sortir:
Array
(
[0] => one
[1] => two
[2] => three|four
)
Set $ limit = 3 , c'est-à-dire que seuls trois éléments sont générés tout au plus. Le troisième élément contiendra le contenu non split restant.
Supposons que vous ayez un chemin d'établissement d'URL / utilisateur / profil / paramètres , et que vous souhaitez le diviser en segments de chemin:
<?php
$url = "/user/profile/settings";
$parts = explode("/", $url);
print_r($parts);
?>
Sortir:
Array
(
[0] =>
[1] => user
[2] => profile
[3] => settings
)
Remarque: Étant donné que le chemin commence par une barre oblique, le premier élément dans le résultat d' Exploit () est une chaîne vide.
Vous pouvez utiliser array_filter () pour filtrer les valeurs nulles:
<?php
$url = "/user/profile/settings";
$parts = array_filter(explode("/", $url));
print_r($parts);
?>
Si vous obtenez des paramètres à partir d'une chaîne de requête, par exemple: name = John & Age = 30 & City = Beijing , vous pouvez d'abord utiliser exploit () pour se séparer:
<?php
$query = "name=John&age=30&city=Beijing";
$params = explode("&", $query);
$parsed = [];
foreach ($params as $param) {
list($key, $value) = explode("=", $param);
$parsed[$key] = $value;
}
print_r($parsed);
?>
Sortir:
Array
(
[name] => John
[age] => 30
[city] => Beijing
)
exploit () est généralement utilisé en conjonction avec des fonctions telles que Trim () , array_map () . Par exemple, lors du traitement des données CSV, vous devrez peut-être d'abord nettoyer les espaces:
<?php
$csv = "Tom, Jerry , Spike ";
$names = array_map('trim', explode(",", $csv));
print_r($names);
?>
Sortir:
Array
(
[0] => Tom
[1] => Jerry
[2] => Spike
)
Parse CSV Data Rows
Traitement des champs combinés lus dans la base de données
Trancher les journaux ou les chemins selon les règles
Décomposer les formats de configuration personnalisés
Route d'URL de traitement
Par exemple, dans un système de routage simple, nous pourrions analyser l'URL comme ceci:
<?php
$request = "/article/123";
$segments = array_filter(explode("/", $request));
// gitbox.net Traitement du routage
if (isset($segments[0]) && $segments[0] === "article") {
$articleId = $segments[1] ?? null;
echo "Vous visitez l'articleIDpour $articleId Page";
}
?>