首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从针中获取字符串中下一个元素的最快方法

从针中获取字符串中下一个元素的最快方法
EN

Stack Overflow用户
提问于 2016-11-10 10:02:45
回答 1查看 104关注 0票数 3

我先从下面的代码开始:

代码语言:javascript
复制
$characterset = 'abcdefg';
$character    = 'a';

假设我有两个变量,charactersetcharacter,我想得到下一个character,所以我做到了:

代码语言:javascript
复制
$characterset = 'abcdefg';
$character    = 'a';
$ncharacter   = $characterset[ strpos($characterset, $character) + 1 ];

这起作用了,但我使用的方法必须执行数千次per / second,使用XDebug + WebGrind结果是对strpos的多次调用,使得函数的运行速度比它应该执行的要慢得多,我意识到在一种语言中做math要比做函数调用来做算术更快,而且我尝试了使用:

代码语言:javascript
复制
$character  = 'a';
$ncharacter = chr( ord($character) + 1 );

这是可行的,但这给了我太多的字符,如果我想确保它没有+1到一个字符,如一个:或其他,它将是一堆条件参数,使它更慢,所以我正在寻找的是一种廉价的方式character -> nextcharacter (determined from characterset),不使用太多的资源,基准是首选的WebGrind

谢谢:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 10:06:52

用这个:

代码语言:javascript
复制
# The character set that we're using to iterate.
$CharacterSet  = 'abcdefg';
$chr_array = str_split($CharacterSet);

foreach($chr_array as $Character){
//do whatever with character, everytime it will provide the next one when foreach loop continues
}

我希望它能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40524730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档