小编use*_*092的帖子

生产代码中的PHP debug_backtrace来获取有关调用方法的信息?

是否有令人信服的理由不仅仅debug_backtrace用于确定调用方法的类,名称和参数列表?不用于调试目的.它在函数名中有"debug"这个词,这让我感觉有点脏,以这种方式使用它,但它符合我需要做的事情(一个可以从很多地方调用的函数)需要从另一个系统调用调用方法).它有效,但这仍然是个坏主意吗?如果是这样,为什么?

php

25
推荐指数
2
解决办法
1万
查看次数

PHP中函数参数的评估顺序

PHP函数参数的评估顺序是否保证始终相同?

谢谢.

php evaluation operator-precedence

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

如何有效地实现正则表达式,如.*a.*b.*?

我想匹配像Colibri那样的文件名.我试图通过正则表达式来解决它.

在Colibri中搜索的工作原理是,您可以在文件名中按顺序键入字符,并在文件名中按顺序查找具有这些字符的所有文件.例如,对于"ab",它找到"cabal","ab"和"achab".

简单插入.*字母之间的工作(所以搜索字符串"ab"成为正则表达式.*a.*b.*),但我想在大量文件上进行.

到目前为止,我有O(N*???),其中N是文件名的数量和??? 最好是线性复杂度(我假设我的语言使用NFA).我不太关心空间复杂性.我应该选择哪些数据结构或算法来提高效率(时间复杂度)?

regex algorithm performance

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

vim中$和^的顺序.是逆转了吗?

在vi中,^将光标向左移动(到第一个非白色字符)并将$光标向右移动.^ $在键盘上是从右到左(即$ ^),这意味着左边的键($)向右移动光标,向右^移动键()将光标向左移动.

我发现它令人困惑,我希望钥匙是其他方式.

这个顺序是巧合还是有任何理由吗?谢谢.

vi vim keyboard-shortcuts

2
推荐指数
2
解决办法
150
查看次数

为什么这种获取两个日期之间差异的方法不起作用?

我试图测试是否已经过了一段时间.我用javascript.

两个示例都使用此变量:

var delete_after = 2 /*minutes*/ * 60 /*seconds*/ * 1000/*miliseconds*/; // [miliseconds]
Run Code Online (Sandbox Code Playgroud)

这有效:

var now = new Date();
var now_t = now.getTime();
var then = new Date(x.time); // x.time is string with a time
var then_t = then.getTime();//).getTime();
if (now_t - then_t > delete_after) {
    alert("deleted");
}
Run Code Online (Sandbox Code Playgroud)

这不是:

if (Date().getTime() - Date(x.time).getTime() > delete_after) {
    alert("deleted");
}
Run Code Online (Sandbox Code Playgroud)

我相信他们是等同的,但他们不是.我检查了优先级,最后看来我必须调用new来创建变量.似乎无法调用(new Date().getTime()).拜托,你会这么好解释为什么不能写第二种方式吗?

javascript

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