从右到左爆炸数组:最后一个分隔符分割
在 PHP 中,explode() 函数通常用于基于指定的分隔符。但是,如果您只需要在最后一次出现特定分隔符时分割字符串,则可能会遇到歧义。
例如,考虑以下场景:
<code class="php">$split_point = ' - '; $string = 'this is my - string - and more';</code>
如果您是直接在此字符串上使用explode(),您将得到以下结果:
<code class="php">$item[0] = 'this is my'; $item[1] = 'string - and more';</code>
但是,这不是所需的输出,因为我们只想在分隔符的第二个实例上进行拆分。为了实现这一点,我们可以使用 strrev() 函数采用稍微不同的方法。
<code class="php">$split_point = ' - '; $string = 'this is my - string - and more'; $result = array_map('strrev', explode($split_point, strrev($string)));</code>
这是如何工作的:
这种方法会产生以下输出:
<code class="php">array ( 0 => 'and more', 1 => 'string', 2 => 'this is my', )</code>
通过反转字符串然后拆分,我们基本上将搜索转换为从左到右的搜索-从字符串末尾开始右操作,允许我们捕获分隔符的最后一个实例。
以上是如何从右到左分解数组:在 PHP 中按最后一个分隔符进行拆分的详细内容。更多信息请关注PHP中文网其他相关文章!