Maison  >  Article  >  développement back-end  >  Comment exploser une chaîne lors de la dernière occurrence du délimiteur ?

Comment exploser une chaîne lors de la dernière occurrence du délimiteur ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-21 15:19:02341parcourir

How to Explode a String on the Last Delimiter Occurrence?

Explosion de chaînes lors de la dernière occurrence du délimiteur

Dans de nombreux cas, il devient nécessaire de diviser une chaîne en fonction d'un délimiteur spécifique. Cependant, il existe des situations où nous devons considérer uniquement la dernière occurrence du délimiteur.

Énoncé du problème

Donné :

$split_point = ' - ';
$string = 'this is my - string - and more';

À diviser la chaîne sur la dernière instance de $split_point, nous aimerions obtenir le résultat suivant :

$item[0] = 'this is my - string';
$item[1] = 'and more';

Solution

Pour y parvenir, nous pouvons utiliser un technique astucieuse utilisant la fonction strrev pour inverser la chaîne puis la faire exploser sur le délimiteur inversé :

$result = array_map('strrev', explode($split_point, strrev($string)));

En inversant la chaîne, la dernière instance du délimiteur devient la première occurrence. Après avoir divisé la chaîne inversée, nous inversons le résultat pour restaurer l'ordre d'origine.

Sortie

Cette approche produit la sortie souhaitée :

array (
  0 => 'and more',
  1 => 'string',
  2 => 'this is my',
)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn