调用函数作为参数,这是不好的做法?

时间:2012-08-24 20:22:32

标签: php function

$myVar=myFunction(array_reverse(explode('.', $_SERVER['SERVER_NAME'])));

这样的嵌套函数有什么问题吗?

5 个答案:

答案 0 :(得分:2)

这样做完全有效,但要保持可读性。如果你嵌套了15个函数调用或者嵌套了一些函数callss,每个函数调用都有几个参数,那么你将有一个强大的调试经验。

答案 1 :(得分:2)

只要您能保证每个功能始终返回所需的类型,这是可以的。例如,如果函数可能返回FALSE值,则可能会将其强制转换为意外值。

提供的示例有效,因为explode(被叫)和array_reverse都将返回一个数组。

一个反例:

mysqli_query(mysqli_connect(...), 'INSERT INTO tbl VALUES ....');

由于mysqli_connect可能会返回资源或FALSE,因此不应将其链接。应始终检查返回值的正确性。

答案 2 :(得分:1)

不这样做是完全有效的

答案 3 :(得分:1)

这可能是一种不好的做法,因为它使代码更难理解,因此维护 克服这个问题的一个好方法是(大量)注释你的代码。

答案 4 :(得分:0)

人们在所有时间都会像这样嵌套。功能意味着以这种方式使用。由于函数可以返回一个值,因此将一个变量赋值给一个函数,以便将该函数的值转换为PHP变量是有意义的。

感谢上帝返回值的函数,否则,从另一个方面考虑它会是一团糟......