Dans PHP, la fonction substr est une fonction de traitement de chaîne très couramment utilisée pour intercepter la partie d'une chaîne. Substr est utile lorsque nous devons extraire la partie spécifiée d'un élément de chaîne dans le tableau. Cet article utilisera un exemple pour expliquer comment utiliser la fonction substr pour intercepter le contenu spécifié d'un élément de chaîne dans un tableau.
La fonction substr est utilisée pour retourner la partie d'une chaîne. La syntaxe de base est la suivante:
<span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ String : la chaîne d'origine entrée.
$ start : la position à laquelle les interceptions commencent, peut être un nombre négatif, indiquant qu'il commence à partir de la fin de la chaîne.
$ Longueur : la longueur interceptée (facultative). S'il n'est pas spécifié, la fin de la chaîne est interceptée. S'il s'agit d'un nombre négatif, calculez de l'arrière vers l'avant.
Supposons que nous ayons un tableau où chaque élément dans le tableau est une chaîne et que nous voulons couper une partie du contenu d'un élément spécifique. Nous pouvons le faire en suivant les étapes ci-dessous.
Supposons que nous ayons le tableau suivant, chaque élément est une chaîne contenant DateTime, et nous devons extraire la partie de date de chaque élément.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Définissez un tableau contenant des chaînes de date et d'heure</span></span><span>
</span><span><span class="hljs-variable">$dateArray</span></span><span> = [
</span><span><span class="hljs-string">'2025-06-18 14:30:00'</span></span><span>,
</span><span><span class="hljs-string">'2023-09-12 09:45:00'</span></span><span>,
</span><span><span class="hljs-string">'2021-12-25 17:00:00'</span></span><span>
];
</span><span><span class="hljs-comment">// Itérer dans le tableau,utiliser substr Partie de date interceptée</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dateArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>) {
</span><span><span class="hljs-comment">// Avant d'intercepter 10 Personnages,Tout de suite“YYYY-MM-DD”partie</span></span><span>
</span><span><span class="hljs-variable">$datePart</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"日期partie: <span class="hljs-subst">$datePart</span></span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-section">日期partie: 2025-06-18</span></span><span>
</span><span><span class="hljs-section">日期partie: 2023-09-12</span></span><span>
</span><span><span class="hljs-section">日期partie: 2021-12-25</span></span><span>
</span></span>
Dans cet exemple, nous extrassons les 10 premiers caractères (c'est-à-dire la partie de date au format "Yyyy-mm-dd") à partir de chaque chaîne de date par substr ($ Date, 0, 10) .
Si nous avons seulement besoin d'intercepter le contenu à partir d'un emplacement spécifique dans la chaîne, nous pouvons utiliser substr pour le localiser. Par exemple, si nous devons intercepter la partie du temps à partir de la chaîne de date-heure (c'est-à-dire "HH: mm: ss"), nous pouvons modifier les paramètres du substr comme suit:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dateArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>) {
</span><span><span class="hljs-comment">// Intercepté par le 11 Personnages开始的后 8 Personnages,Tout de suite时间partie "HH:MM:SS"</span></span><span>
</span><span><span class="hljs-variable">$timePart</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-number">11</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"时间partie: <span class="hljs-subst">$timePart</span></span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-section">时间partie: 14:30:00</span></span><span>
</span><span><span class="hljs-section">时间partie: 09:45:00</span></span><span>
</span><span><span class="hljs-section">时间partie: 17:00:00</span></span><span>
</span></span>
La fonction substr prend en charge les nombres négatifs sous forme de paramètre $ start , ce qui signifie que le calcul commence à partir de la fin de la chaîne. Par exemple, substr ($ string, -5) renvoie les 5 derniers caractères de la chaîne.
Supposons que nous ayons un tableau contenant des URL, et nous voulons intercepter l'extension de fichier de l'URL (tel que .php , .html , etc.), qui peut être implémenté par indexation négative:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$urls</span></span><span> = [
</span><span><span class="hljs-string">'https://example.com/index.php'</span></span><span>,
</span><span><span class="hljs-string">'https://example.com/about.html'</span></span><span>,
</span><span><span class="hljs-string">'https://example.com/contact.php'</span></span><span>
];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$urls</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$url</span></span><span>) {
</span><span><span class="hljs-comment">// Sceller de la fin de la chaîne 4 Personnages,Obtenir une extension de fichier</span></span><span>
</span><span><span class="hljs-variable">$extension</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$url</span></span><span>, -</span><span><span class="hljs-number">4</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Extension de fichier: <span class="hljs-subst">$extension</span></span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-section">Extension de fichier: .php</span></span><span>
</span><span><span class="hljs-section">Extension de fichier: .html</span></span><span>
</span><span><span class="hljs-section">Extension de fichier: .php</span></span><span>
</span></span>
Grâce à la fonction substr , PHP fournit une fonction d'interception de chaîne puissante. Que ce soit extraire des pièces spécifiques des éléments de chaîne dans un tableau ou en utilisant des index négatifs pour couper le contenu de la fin d'une chaîne, le substr peut effectuer efficacement les tâches. Selon les besoins réels, nous pouvons ajuster de manière flexible les paramètres $ start et $ longueur pour intercepter avec précision le contenu de chaîne requis.