【发布时间】:2014-01-15 19:44:03
【问题描述】:
假设我有以下字符串:$test ='abcd.gdda<fsa>dr';
还有以下数组:$array = array('<','.');
如何找到 $array 数组中元素的字符位置? (可能的最快方式)然后存储和删除它们(不在该特定索引处留下 NULL 值)?
附言。我知道我可以使用 strpos() 来检查每个元素,但这会输出如下内容: 9, 5 因为在 '.' 之前搜索了 '
【问题讨论】:
-
而不是
strpos()使用strrpos(),开始寻找从右到左的字符串。所以当你替换<时,字符.仍然会在同一个位置。 -
如果我使用这种方法...我将如何检查所有事件?这总是会在找到第一个元素后停止...
-
您还需要分别存储每个搜索字符的位置吗?还是只是找到这些字符的位置?
-
@Cthulhu 是的,我愿意......而且也是按升序排列