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 第一种比第二种性能高。 |