1
enj0y 2012-11-06 19:25:44 +08:00
see it used for what and think about which.
|
2
azoon 2012-11-06 19:26:55 +08:00
我用第一种。第二种有人这样写?
|
3
sethverlo 2012-11-06 19:40:56 +08:00
第一种我喜欢把 {} 都另起一行……
|
4
TheOnly92 2012-11-06 19:43:54 +08:00
有些时候我会这么写
foreach ((array) $params as $param) { ... } 但是当你必须这么做代码很容易出问题, 最好能保证 $params 肯定是 array() |
5
tux 2012-11-06 20:13:11 +08:00
if (is_array($params))
{ foreach ($params as $param) { //... } } 我这样算什么啊 |
6
enj0y 2012-11-06 20:40:29 +08:00
第一种如果后面没有else逻辑,会只有$params为数组时才执行。第二种会将非数组的$params重置为空数组,有可能会。。。。
|
7
Sunyanzi 2012-11-06 21:45:30 +08:00
我的方式 ... 和第一种差不多是一个道理 ...
if ( is_array( $params ) ) foreach ( $params as $param ) { } else { } 顾及简洁以及减少性能浪费 ... 避免毫无意义的赋值和 foreach ... |
8
imcj 2012-11-07 00:47:47 +08:00
var i = 0, size = params.length;
for ( ; i < size; i++ ) { } |
9
fmfsaisai 2012-11-07 11:15:23 +08:00
对于数组这种大数据尽量减少只用三元式:
http://www.laruence.com/2011/11/04/2258.html |
10
binjoo 2012-11-07 11:30:27 +08:00
有时候的简洁,看着更加蛋疼。
|
12
mygoare 2012-11-23 01:14:54 +08:00
第二种 可能foreach空数组?
|
13
mygoare 2012-11-23 01:16:46 +08:00
好吧,我二了。。。sorry
|
14
aveline 2012-11-23 03:36:59 +08:00
以前很喜欢第一种 ... 不过看起来是很漂亮 ... 但是执行起来 ... 只能呵呵了 ...
简单写了个测试脚本 ... 每种调用 200000 次, 结果如下: test_1: 1.2074031829834 test_2: 1.2558000087738 明显第一种性能更好 ... http://gist.github.com/4132644 |
15
aveline 2012-11-23 03:38:29 +08:00
忘了补充下 ... 测试环境是
"PHP 5.3.15 with Suhosin-Patch (cli) (built: Aug 24 2012 17:45:44) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.3, Copyright (c) 2002-2012, by Derick Rethans" |
16
chisj 2012-11-23 21:03:38 +08:00
我习惯这样的,因为感觉降低了一点复杂度,缩进太多的代码我看不习惯。。。。还有我喜欢用if处理异常而不是正常逻辑^.^,有和我一样的筒靴吗?
if (!is_array($params)) { return; } foreach ($params as $param) { //... } |
17
IFoon 2012-12-20 22:13:40 +08:00
第一种比第二种性能高。
|