小编Ema*_*sev的帖子

在下面的代码中是否需要迭代?

这是Kohana框架的Input_Core类的xss_clean方法的一段代码:

do
{
 // Remove really unwanted tags
 $old_data = $data;
 $data = preg_replace('#</*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*+>#i', '', $data);
}
while ($old_data !== $data);
Run Code Online (Sandbox Code Playgroud)

do ... while循环是否必要?我认为preg_replace调用只需一次迭代即可完成所有工作.

php iteration

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

括号在下面的代码中的作用是什么?

这是Google Analytics的跟踪代码:

var _gaq = _gaq || [];
_gaq.push(["_setAccount", "UA-256257-21"]);
_gaq.push(["_trackPageview"]);

(function() {
var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
})();
Run Code Online (Sandbox Code Playgroud)

您可以看到该函数在括号内.

你为什么这么认为?

javascript google-analytics

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

逐个字符翻译字符串

我应该如何实现一种方法,获取由拉丁字符组成的字符串,并将其转换为由不同字符集(比方说西里尔字母)组成的字符串。

\n\n

例如,以下是 PHP 中的完成方式:

\n\n
function latin_to_cyrillic($string)\n{\n $array = array(\n  "\xd0\xb0" => "a",\n  "\xd0\xb1" => "b",\n  "\xd0\xb2" => "v",\n  "\xd0\xb3" => "g",\n  "\xd0\xb4" => "d",\n  "\xd0\xb5" => "e",\n  "\xd0\xb6" => "zh",\n  "\xd0\xb7" => "z",\n  "\xd0\xb8" => "i",\n  "\xd0\xb9" => "y",\n  "\xd0\xba" => "k",\n  "\xd0\xbb" => "l",\n  "\xd0\xbc" => "m",\n  "\xd0\xbd" => "n",\n  "\xd0\xbe" => "o",\n  "\xd0\xbf" => "p",\n  "\xd1\x80" => "r",\n  "\xd1\x81" => "s",\n  "\xd1\x82" => "t",\n  "\xd1\x83" => "u",\n  "\xd1\x84" => "f",\n  "\xd1\x85" => "h",\n  "\xd1\x86" => "ts",\n …
Run Code Online (Sandbox Code Playgroud)

java string

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

下划线方法前缀

我一直在研究CodeIgniter和CakePHP的代码,我注意到它们类中的一些方法以下划线_或双下划线为前缀__.

那是什么意思?

php naming-conventions

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

格式化块注释

第一种格式似乎比第二种格式更受欢迎.这是为什么?


第一个(每行的星号)

/*
 * line 1
 * line 2
 * line 3
 */
Run Code Online (Sandbox Code Playgroud)

第二个(最小的星号)

/*
line 1
line 2
line 3
*/
Run Code Online (Sandbox Code Playgroud)

coding-style

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

为什么"退出"需要括号?

如果echo可以在exit没有括号的情况下工作,为什么不能?

php

5
推荐指数
3
解决办法
1555
查看次数

动态类扩展

有没有办法定义一个类,以便只有在其他类可用时才扩展另一个类?

php oop

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

从数组中删除重复的对象?

我一直在使用array_unique从数组中删除重复值,但是当值是对象时它似乎不起作用 - stdClass的实例.

php arrays

5
推荐指数
0
解决办法
1747
查看次数

功能"规范化"

这是DB规范化理论的一个概念:

当非关键字段是关于另一个非关键字段的事实时,违反了第三范式.

将类似的概念应用于函数/函数参数是否有意义?


考虑以下功能:

function validate(field, rule_name, rule_value);

// Usage

validate("password", "min_length", 6);
validate("password", "matches_regex", "/^\S+$/");
Run Code Online (Sandbox Code Playgroud)

在这个示例函数中,第三个参数描述了第二个参数并且似乎对第一个参数没有"态度".在某种程度上感觉就像一个非规范化的功能.

我不知道我是否正在制定这个,但我可以注意到表名和表字段,DB,函数名和函数参数之间的类比.

如果这样的比喻有意义,那么函数设计者从DB归一化理论中借用概念是否也有意义?

language-agnostic theory function function-declaration

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

为什么 MySQL 从 1 而不是 0 开始计数?

数组的第一个元素(在大多数编程语言中)的 id(索引)为 0。MySQL 表的第一个元素(行)的(自动递增的)id 为 1。后者似乎是个例外。

php ruby python mysql

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