0

我有多个随机字符串,我正在尝试"SpottedBlanket"从字符串中拔出。其中一些工作正常:

DarkBaySpottedBlanket --
DarkBay

BaySpottedBlanket --
Bay

但其他人的削减超出了应有的范围。

RedRoanSpottedBlanket --
RedR

BlackSpottedBlanket --
Blac

DunSpottedBlanket --
Du

这是我正在使用的代码,但我认为它是不言自明的:

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

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

4

1 回答 1

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()

于 2018-04-06T03:07:15.940 回答