Explosion sur la dernière instance de délimiteur : une approche de droite à gauche
La tâche donnée consiste à diviser une chaîne sur un délimiteur spécifique mais considérez uniquement la dernière occurrence de ce délimiteur. Alors que les fonctions classiques de fractionnement de chaînes comme explosive() fonctionnent de gauche à droite, il existe une manière unique d'obtenir le résultat souhaité.
Considérons l'exemple suivant :
$split_point = ' - '; $string = 'this is my - string - and more';
L'objectif est de diviser la chaîne sur la dernière instance du délimiteur "-", ce qui donne un tableau comme :
$item[0] = 'this is my - string'; $item[1] = 'and more';
Au lieu d'utiliser éclater() de gauche à droite, nous pouvons inverser la chaîne et inverser le tableau résultant :
$result = array_map('strrev', explode($split_point, strrev($string)));
Cette approche implique :
La fonction array_map() est utilisée pour appliquer strrev() à chaque élément du tableau. Le résultat réel serait :
array ( 0 => 'and more', 1 => 'string', 2 => 'this is my', )
Cette technique n'est peut-être pas la solution la plus efficace, mais elle atteint efficacement l'objectif d'exploser sur la dernière instance du délimiteur en inversant la chaîne et en inversant le résultat.
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!