云中月 发表于 2008-8-12 23:18:23

求助,释疑CI中的一段代码 [已解决]

:) 有段代码不明白,大家帮我看一下吧
db_driver.php中 1027行:
function call_function($function) { ... }

函数内未尾有段语句: $args = (func_num_args() > 1) ? array_splice(func_get_args(), 1) : null;
//call_function的参数数量肯定不小于1,既然如此,为什么要进行一次三元运算呢?直接$args=null不是更简洁?
return call_user_func_array($function, $args);
肯定是我水平有问题了,希望达人指点一二.:) 谢谢

[ 本帖最后由 云中月 于 2008-8-12 23:44 编辑 ]

Hex 发表于 2008-8-12 23:20:01

?前面的为true,返回第一个值吧?

云中月 发表于 2008-8-12 23:23:12

我的理解也是这样.
可是第一个值就是$function,似乎没有必要吧

云中月 发表于 2008-8-12 23:43:04

:LPHP手册错了.

手册上是这样的:$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")

实际上$input为:Array ( => blue => yellow )

所以不难理解上述问题.:loveliness:
页: [1]
查看完整版本: 求助,释疑CI中的一段代码 [已解决]