php – 如果有连续的类似字符串,则只打印一个字符串

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如果有连续的类似字符串,则只打印一个字符串脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个变量$b = substr($r [‘pon_port’],4,2);在foreach循环中.
$b的VAR转储给出了这样的字符串列表:

string(1) "0" string(1) "0" string(1) "0" string(1) "0" string(1) "0"
string(1) "1" string(1) "1" string(1) "1" string(1) "1" string(1) "1"
string(1) "2" string(1) "2" string(1) "2" string(1) "2" string(1) "2"
string(1) "3" string(1) "3" string(1) "3" string(1) "3" string(1) "3"
string(1) "4" string(1) "4" string(1) "4" string(1) "4" string(1) "4"
string(1) "0" string(1) "0" string(1) "0" string(1) "0" string(1) "0"
string(1) "1" string(1) "1" string(1) "1" string(1) "1" string(1) "1"

我想要的是如果有类似的连续字符串我想只有一个字符串>例如:在上面的转储中.我只是想:

string(1) "0" 
string(1) "1" 
string(1) "2" 
string(1) "3" 
string(1) "4" 
string(1) "0" 
string(1) "1"

解决方法

如果我理解正确,你可以完成这个,记住最后一个数字:

$lastB = null;
foreach ($foo as $r) //I'm guessing that $r is the dummy variable,based on your code
{
        $b = substr($r['pon_port'],2); //You wrote this

        //This part prevents rePEtITions From happening
        if ($lastB === null || $b != $lastB) var_dump($lastB = $b);
}

(在这种情况下,我将赋值转移到参数中,使用var_dump($lastB = $b)而不是两个单独的语句.我发现它更整洁,但如果您愿意,可以将它们分开.)

如果您想要打印变量以外的其他操作,最终结果是,您可以使用以下代码

$lastB = null;
foreach ($foo as $r) //I'm guessing that $r is the dummy variable,2); //You wrote this

        //This part PRevents repetitions from happening
        if ($lastB === null || $b != $lastB)
        {
            //do something with $b...
            $lastB = $b;
        }
}

我自己在序列“2 2 7 8 8 7”上尝试第一个代码,得到:

string(1) "2" string(1) "7" string(1) "8" string(1) "7"

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如果有连续的类似字符串,则只打印一个字符串全部内容,希望文章能够帮你解决php – 如果有连续的类似字符串,则只打印一个字符串所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。