Chop()比所要求的更多

时间:2018-04-06 02:53:44

标签: php string chop

我有多个随机字符串,我正试图将"SpottedBlanket"拉出字符串。其中一些工作正常:

DarkBaySpottedBlanket --
DarkBay

BaySpottedBlanket --
Bay

但是其他人正在削减更多的东西。

RedRoanSpottedBlanket --
RedR

BlackSpottedBlanket --
Blac

DunSpottedBlanket --
Du

这是我正在使用的代码,但我认为这是自我解释的:

 $AppyShortcut = chop($AppyColor,"SpottedBlanket");

$AppyColor显然是随机生成的字符串。任何线索为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

chop函数接受第二个参数中的字符串 - 在本例中为"SpottedBlanket",并删除它从右侧找到的任何连续字符。

因此,对于"RedRoanSpottedBlanket"的情况,您将返回"RedR",因为"o""a""n"是可以在字符串"SpottedBlanket"

chop()通常用于删除尾随空格 - 在对其执行某些操作之前清除用户输入的方法。

给你的阵列:

$strings = ["DarkBaySpottedBlanket", "RedRoanSpottedBlanket", "BlackSpottedBlanket", "DunSpottedBlanket"];

你可能正在寻找的是这样的事情:

foreach ($strings as $string) {
  print substr($string, 0, strrpos($string, "SpottedBlanket")) . "\n";
}

使用strrpos()从末尾查找字符串的位置,然后使用substr()将字符串的开头返回到该位置。