Position actuelle: Accueil> Derniers articles> Comment combiner les fonctions STRRPOS et substr pour intercepter le contenu de la dernière position de caractère à la fin d'une chaîne? Étapes explication détaillée

Comment combiner les fonctions STRRPOS et substr pour intercepter le contenu de la dernière position de caractère à la fin d'une chaîne? Étapes explication détaillée

gitbox 2025-08-23

Comment combiner les fonctions STRRPOS et substr pour intercepter le contenu de la dernière position de caractère à la fin d'une chaîne? Étapes explication détaillée

En PHP, la manipulation des cordes est l'une des tâches communes et importantes. Plusieurs fois, nous devons intercepter une partie d'une chaîne. STRRPOS et substr sont deux fonctions PHP très pratiques qui peuvent être utilisées en combinaison pour implémenter à partir de la dernière position de caractères de la chaîne et interceptant le contenu jusqu'à la fin de la chaîne.

1. Introduction à la fonction strrpos

La fonction STRRPOS est utilisée pour trouver la dernière occurrence d'un caractère ou d'une sous-chaîne dans une chaîne. Cette fonction renvoie le décalage du caractère ou de la sous-chaîne (c'est-à-dire la distance de la position de départ de la chaîne à la position de caractère trouvé), et si elle n'est pas trouvée, il renvoie faux .

 <span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ Haystack : la chaîne à rechercher.

  • $ aiguille : le caractère ou la sous-chaîne à trouver.

  • $ offset : facultatif, décalage, spécifiez où commencer à chercher, par défaut est 0.

2. Introduction à la fonction substr

La fonction substr est utilisée pour extraire les sous-chaînes de chaînes. Il intercepte la partie spécifiée en donnant la position de départ et la longueur.

 <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-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ String : la chaîne d'origine entrée.

  • $ start : la position de départ de l'interception, qui peut être un nombre positif ou négatif. Le nombre négatif signifie que le calcul commence à partir de la fin de la chaîne.

  • $ Longueur : Facultatif, la longueur interceptée, si elle est omise, elle sera interceptée à la fin de la chaîne.

3. Implémentez l'interception de la dernière position de caractère à la fin de la chaîne

Nous devons maintenant combiner les fonctions STRRPOS et substr pour intercepter le contenu de la chaîne. L'exigence spécifique est: commencer à partir de la dernière position du caractère spécifié dans la chaîne et intercepter à la fin de la chaîne.

4. Étapes détaillées

Étape 1: Utilisez STRRPOS pour trouver la position du dernier caractère

Supposons que nous ayons une chaîne $ str = "Apple, Banana, Cherry, Apple, Orange" , et nous voulons intercepter d'où la dernière "pomme" apparaît jusqu'à la fin. Utilisez d'abord STRRPOS pour trouver la position de la dernière "Apple" dans la chaîne.

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"apple, banana, cherry, apple, orange"</span></span><span>;
</span><span><span class="hljs-variable">$last_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>); </span><span><span class="hljs-comment">// Trouvez le dernier "apple" Emplacement</span></span><span>
</span></span>

$ last_pos enregistre désormais la dernière occurrence de "Apple" dans la chaîne, c'est-à-dire 24 .

Étape 2: Utilisez le substr pour intercepter le contenu de cette position à la fin

Ensuite, nous utilisons la fonction substr pour intercepter à partir de $ last_pos jusqu'à la fin de la chaîne.

 <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$last_pos</span></span><span>); </span><span><span class="hljs-comment">// Du dernier "apple" Emplacement开始截取</span></span><span>
</span></span>

À l'heure actuelle, la valeur du résultat $ est "Apple, Orange" , qui est le contenu de la dernière "Apple" de la chaîne à la fin.

5. Exemple de code complet

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Chaîne d&#39;origine</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"apple, banana, cherry, apple, orange"</span></span><span>;

</span><span><span class="hljs-comment">// Trouvez le dernier "apple" Emplacement</span></span><span>
</span><span><span class="hljs-variable">$last_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);

</span><span><span class="hljs-comment">// Déterminez si le caractère est trouvé</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$last_pos</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-comment">// Du dernier "apple" Commencez à intercepter la fin de la chaîne</span></span><span>
    </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$last_pos</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le contenu intercepté est: "</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le caractère spécifié n&#39;a pas été trouvé"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

6. Résultats de l'opération

 <span><span><span class="hljs-section">Le contenu intercepté est: apple, orange</span></span><span>
</span></span>

7. Résumé

En combinant les fonctions STRRPOS et substr , nous pouvons facilement obtenir le contenu de la chaîne à partir de la dernière fois qu'un certain caractère ou sous-chaîne apparaît à la fin de la chaîne. STRRPOS nous aide à trouver l'emplacement du dernier caractère, et le substr est utilisé pour extraire le contenu de chaîne restant de cet emplacement.