小编nic*_*ckf的帖子

使用IN或文本搜索

我想搜索一个表来查找一个特定字段是两个值之一的所有行.我确切知道这些值是什么,但我想知道哪种搜索方式最有效:

为了举例,两个值是"xpoints"和"ypoints".我肯定知道该字段中没有其他值在末尾有"点",所以我正在考虑的两个查询是:

WHERE `myField` IN ('xpoints', 'ypoints')
--- or...
WHERE `myField` LIKE '_points'
Run Code Online (Sandbox Code Playgroud)

在这种情况下会给出最好的结果?

mysql sql optimization

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

获取对象的所有已定义函数

是否有相当于get_defined_functions()仅显示给定对象的功能?

用法和输出示例:

class A {
    function foo() { }
    function bar() { }
}
class B extends A {
    function foobar() { }
}
$b = new B();
print_r(get_object_functions($b));

// Array (
//  0 => "foo",
//  1 => "bar",
//  2 => "foobar"
//)
Run Code Online (Sandbox Code Playgroud)

php reflection function

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

管理日期格式PHP和MySQL之间的差异

我正在编写我的第一个PHP应用程序,它必须直接处理日期,因此直接处理PHP和MySQL具有不同日期格式的事实.

我的问题是:管理这种差异最优雅的方法是什么?

我有以下两个函数来使用php来管理差异:

function mysql_date($php_date)  {
    return date( 'Y-m-d H:i:s', $php_date );
}

function php_date($mysql_date) {
    $val = explode(" ",$mysql_date);
    $date = explode("-",$val[0]);
    $time = explode(":",$val[1]);
    return mktime($time[0],$time[1],$time[2],$date[1],$date[2],$date[0]);
}
Run Code Online (Sandbox Code Playgroud)

有没有一种更简单的方法来直接在我的SQL查询中管理它?

或者你能建议任何其他更优雅的方式来管理这个吗?

php mysql sql datetime

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

将小数转换为混合基数(基数)

如何将十进制数转换为混合基数表示法?

我想如果输入每个碱基的数组和十进制数,它应该输出每列值的数组.

math mixed-radix

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

CakePHP:在提交失败时清除密码字段

问候,

我正在设置一个非常标准的注册表单,其中包含密码字段.

问题是,在提交失败后(由于空字段,格式不正确等),控制器重新加载注册页面,但密码字段包含先前输入的密码的哈希值.每次提交失败后如何将其清空?

视图:

echo $form->password('Vendor.password', array('class' => 'text-input'));
Run Code Online (Sandbox Code Playgroud)

控制器:

Security::setHash('sha1');
$this->Auth->sessionKey = 'Member'; 
$this->Auth->fields = array(
    'username' => 'email',
    'password' => 'password'
);
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助,谢谢!

php authentication passwords cakephp

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

CakePHP(LDAP)中的备用身份验证源

我正在开发一个CakePHP项目,目前正在构建它的用户身份验证部分.问题是我的身份验证信息(即:密码)没有存储在我的数据库中 - 身份验证源是LDAP,但我的问题同样适用于任何非数据库源.

似乎Cake仅在本地数据库中存在时处理密码.蛋糕食谱建议,你可以告诉它不同的控制器/模型/对象通过提供授权程序$this->Auth->authorize变量,但是看代码(具体Auth::startup()功能),它看起来像蛋糕总是试图查询数据库首先,检查获取匹配的用户名/密码,然后查看您指定的备用对象Auth->authorize.也就是说,更改authorize只添加二级过滤器,它不会替换数据库查找.

// The process
1. User provides details
2. Cake checks the database
3. If OK, then check the custom object method
4. If OK, return true

// What I'd like:
1. User provides details.
2. Check the custom object method
3. If OK, return true
4. Profit.
Run Code Online (Sandbox Code Playgroud)

关于如何做到这一点的任何想法,希望没有黑客核心文件?

php authentication cakephp ldap

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

如何在重新编号数字键时从数组中删除值

我有一个数组,可能包含数字或关联键,或两者:

$x = array('a', 'b', 'c', 'foo' => 'bar', 'd', 'e');
print_r($x);
/*(
    [0] => a
    [1] => b
    [2] => c
    [foo] => bar
    [3] => d
    [4] => e
)*/
Run Code Online (Sandbox Code Playgroud)

我希望能够从数组中删除一个项目,重新编号非关联键以保持顺序:

$x = remove($x, "c");
print_r($x);
/* desired output:
(
    [0] => a
    [1] => b
    [foo] => bar
    [2] => d
    [3] => e
)*/
Run Code Online (Sandbox Code Playgroud)

找到要删除的正确元素是没有问题的,这是问题的关键.unset不对键进行重新编号,并且array_splice偏移量而不是键进行处理(即:从第一个示例中取出$ x,array_splice($x, 3, 1)将删除"bar"元素而不是"d"元素).

php arrays associative-array

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

CSS 样式#elements[1-10]

如果我有 5 个 div,id 为“element1”、“element2”等...,有没有一种方法可以使用以下内容来设置元素数组的样式:

#elements[1-10]{
 position:relative;
}
Run Code Online (Sandbox Code Playgroud)

我知道你们可能认为我疯了,但我正在处理一些自动生成的代码,我必须编辑此 cms 的核心文件,但我不想这样做,以防将来客户端升级。

话虽如此,我不可能手动将 ID 更改为类。

css arrays

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

来自Underscore.js的这行是否真的需要进行相等检查?

我刚看到_.isEqualUnderscore.js 的功能,代码的一部分是这样的:

if (a === b) return true;

if (typeof a !== typeof b) return false;

if (a == b) return true;
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有任何情况可以达到第三个陈述并进行评估true

编辑:为了清楚,这不是我自己的代码我正在谈论,我正在阅读下划线的来源,特别是这一行,我很好奇为什么他们这样做.

javascript equality equals

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

ANSI 转义序列:保存和恢复行位置

我正在编写一个非常简单的小控制台应用程序,并且正在尝试一些ANSI 转义序列以获得更好的输出。

我想做的就是这样的事情。有一个带有名称的标题,然后在程序运行时,在下面打印几行。当打印每一行时,我想用进度表更新标题行。例如:

My header row                 [ 0/5 ]
-------------------------------------
Run Code Online (Sandbox Code Playgroud)

然后经过一些处理

My header row                 [ 1/5 ]
-------------------------------------
here is some output
Run Code Online (Sandbox Code Playgroud)

...

My header row                 [ 2/5 ]
-------------------------------------
here is some output
the output could
be over several
lines
Run Code Online (Sandbox Code Playgroud)

我尝试使用保存光标位置代码(ESC+ [s),然后使用ESC+恢复该位置[u,但是这只恢复,而不恢复行。

对于一些背景知识,这是一个 Node.JS 程序。我简要地了解了node-ncurses,但是对于这个任务来说似乎有点矫枉过正(?)

terminal command-line-interface ansi-colors

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