如何在PHP中第n次出现针时拆分字符串?

2022-08-30 17:35:45

必须有一种快速有效的方法在针的“n”次出现时拆分(文本)字符串,但我找不到它。PHP手册中的strpos注释中有一组相当完整的函数,但对于我需要的来说,这似乎有点多。

我有纯文本,并希望在第n次出现时拆分它,在我的情况下,只是一个空格。(我可以做健全性检查!$string$needleneedle

我该怎么做?


答案 1

它可能是:

function split2($string, $needle, $nth) {
    $max = strlen($string);
    $n = 0;
    for ($i=0; $i<$max; $i++) {
        if ($string[$i] == $needle) {
            $n++;
            if ($n >= $nth) {
                break;
            }
        }
    }
    $arr[] = substr($string, 0, $i);
    $arr[] = substr($string, $i+1, $max);

    return $arr;
}

答案 2

就我个人而言,我只是将它分成一个带有爆炸的数组,然后将前半部分内爆,并将剩余的数字内爆为后半部分。n-1


推荐