小编Moh*_*mad的帖子

顺序strpos()比一个preg_match的函数更快?

我需要测试是否有任何字符串'hello','i am','dumb'存在于名为$ ohreally的较长字符串中,如果其中一个存在,我的测试结束了,并且我知道这两个字符串都没有如果其中一个人有其他人将会发生.

在这些情况下,我要求您提供最有效的搜索方式,

strpos()3次这样?

if (strpos ($ohreally, 'hello')){return false;}  
   else if (strpos ($ohreally, 'i am')){return false;}  
   else if (strpos ($ohreally, 'dumb')){return false;}  
   else {return true;}
Run Code Online (Sandbox Code Playgroud)

还是一个preg_match?

if (preg_match('hello'||'i am'||'dumb', $ohreally)) {return false}   
   else {return true};
Run Code Online (Sandbox Code Playgroud)

我知道preg_match代码是错误的,如果有人能提供正确的版本,我真的很感激.

谢谢!


回答

请阅读cletus所说的内容和测试middaparka吼叫.我还做了一个mirco时间测试,在各种字符串,长短.有了这些结果

如果,您知道字符串值发生的概率从最可能到最小可能.(我没有注意到在命令正则表达式本身时,即在/hello|i am|dumb/或之间存在明显的不同/i am|dumb|hello/.

另一方面,在连续的strpos中,概率完全不同.例如,如果"你好"发生率为90%,"我是"7%,"哑巴"发生率为3%.您想组织代码以先检查'hello'并尽快退出该功能.

我的microtime测试显示了这一点.

对于在第一,第二和第三次strpos()执行中分别找到针的干草堆A,B和C,时间如下,

strpos:
A:0.00450秒// 1个strpos()
B:0.00911秒// 2个strpos()
C:0.00833秒// 3个strpos()
C:0.01180秒// 4个strpos()添加了一个额外的

对于preg_match:
A:0.01919秒// 1 preg_match()
B:0.02252秒// 1 preg_match()
C:0.01060秒// 1 preg_match()

正如数字显示的那样,strpos在4rth执行时速度更快,因此我将使用它而不是因为我只有3个子命令来检查:)

php string optimization performance search

4
推荐指数
1
解决办法
2149
查看次数

是否与Closure Compiler兼容jQuery 1.4.2?

根据官方发布声明 1.4版本已重新写来,当我使用的在线版本与使用Closure Compiler压缩尚未关闭的编译器,我得到130个警告.

这是我使用的代码.

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @code_url http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
// ==/ClosureCompiler==
Run Code Online (Sandbox Code Playgroud)

据我所知,如果您将库包含在您的代码中,那么您将获得Closure Compiler的真正好处,因此它会删除未使用的函数.然而,我的测试表明,除了压缩图书馆本身之外我无法进一步发展.

我究竟做错了什么?任何形式的见解将不胜感激.

compression jquery compatibility google-closure-compiler

3
推荐指数
1
解决办法
1281
查看次数

如何在此代码中正确添加括号

这段代码修剪了空白,(fyi:它被认为非常快)

function wSpaceTrim(s){
    var start = -1,
    end = s.length;
    while (s.charCodeAt(--end) < 33 );  //here
    while (s.charCodeAt(++start) < 33 );  //here also 
    return s.slice( start, end + 1 );
}
Run Code Online (Sandbox Code Playgroud)

while循环没有括号,我如何正确地为此代码添加括号?

while(iMean){
  // like this;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢!

javascript readability semantics

3
推荐指数
1
解决办法
241
查看次数

如何在下次操作之前确保文件句柄已关闭?

这是我到目前为止的代码,我想知道它是否正确?

$handle = fopen($file, 'w') or die("can't open file");
$closed = fclose($handle);
while($closed){
    DOAWESOMETHINGS(); // btw I only want to have this run once for each handle
    $closed = false;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢!

php filehandle while-loop

3
推荐指数
1
解决办法
6055
查看次数

如何删除尾随空格和"&nbsp;" 从PHP的字符串的开头和结尾?

如果

$text = '    &nbsp;    &nbsp; MEANINGFUL THINGS GO HERE &nbsp;&nbsp;     &nbsp;';
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到

$cleanText = 'MEANINGFUL THINGS GO HERE';
Run Code Online (Sandbox Code Playgroud)

我知道以下将删除所有的空格

$text=trim($text);
Run Code Online (Sandbox Code Playgroud)

但是如何将实际逃逸的空间纳入装饰呢?

Meaningful Things可以包含[shortcodes],HTML标签,以及转义字符.我需要保留这些.

任何帮助,将不胜感激.谢谢!

php whitespace trim

3
推荐指数
1
解决办法
5593
查看次数

有没有办法在PHP中回显逻辑比较的价值?

例如我怎么能正确写,

$a = 'cat-dog';
echo ((strpos($a, '-') !== false));
// and get true on screen.
Run Code Online (Sandbox Code Playgroud)

无需使用单独的变量来存储值.
非常感谢!

php syntax boolean

1
推荐指数
1
解决办法
82
查看次数

为什么这个setInterval没有工作?

代码:

setInterval("doSomething()", 2000);
function doSomething(){alert('hi')}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/PRff7/

我一直在读这个,我只是无法得到这个例子:(

javascript setinterval

0
推荐指数
1
解决办法
429
查看次数