php – 如果有连续的类似字符串,则只打印一个字符串
发布时间:2020-12-13 22:26:42 所属栏目:PHP教程 来源:进程被阻止状态为D.">上一篇:PH
导读:我有一个变量$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"s
我有一个变量$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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |