所有方法都用array参数,这样做在项目开发中有哪些弊端?

o_owangdong 2012-09-27 04:31:28
php是一个弱类型语言,在项目中,如果我把所有方法入口都定义成$array,这样做的弊端是哪些,如:function test($array)
...全文
157 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
o_owangdong 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 8 楼 的回复:

如果在用数组作为参数,但是没有在函数体内自己检查参数的合法性、完备性,这样会出现哪些问题呢

function func($ar) {
echo $ar['one'] + $ar['two'];
}
func(array(1, 2));

您认为会得到正确的结果吗?
[/Quote]
谢谢你的解答
o_owangdong 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

你怎么写是你的事,至于你说检查参数的合法性也是你自己在程序里面写,还有就是为什么一定要传数组进去,要根据实际情况来吧,不会.net,难道.net参数都是数组???不会吧
[/Quote]
没有啊,我不喜欢将参数设置为数组,就是因为数组太灵活了,我需要做很多的验证,很麻烦
xuzuning 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

如果在用数组作为参数,但是没有在函数体内自己检查参数的合法性、完备性,这样会出现哪些问题呢
[/Quote]
function func($ar) {
echo $ar['one'] + $ar['two'];
}
func(array(1, 2));

您认为会得到正确的结果吗?
yunprince 2012-09-27
  • 打赏
  • 举报
回复
你怎么写是你的事,至于你说检查参数的合法性也是你自己在程序里面写,还有就是为什么一定要传数组进去,要根据实际情况来吧,不会.net,难道.net参数都是数组???不会吧
黄袍披身 2012-09-27
  • 打赏
  • 举报
回复
变量没定义的出错信息
其他的要看你的函数怎么写咯

你除了用array 你也可以用 'xxx,xxx,xxx,xxx',$xxxx这么传递 但是还不是要蛋痛的弄成数组再变函数

[Quote=引用 8 楼 的回复:]

如果在用数组作为参数,但是没有在函数体内自己检查参数的合法性、完备性,这样会出现哪些问题呢
[/Quote]
一起混吧 2012-09-27
  • 打赏
  • 举报
回复
看你的函数怎么写的咯。你的 function test($array) 形参中不一定是个数组,要看你调用时传递了什么数据。
o_owangdong 2012-09-27
  • 打赏
  • 举报
回复
如果在用数组作为参数,但是没有在函数体内自己检查参数的合法性、完备性,这样会出现哪些问题呢
o_owangdong 2012-09-27
  • 打赏
  • 举报
回复
我之前是做.net的,所以不是很喜欢这么做,除了5楼说的,我觉得这样做给调用的人来说会很痛苦
o_owangdong 2012-09-27
  • 打赏
  • 举报
回复
我知道从功能实现上来说是没什么区别的
xuzuning 2012-09-27
  • 打赏
  • 举报
回复
没看见那个框架是这么做的,并不等于这么做不可以

通常一个函数(方法),需要一组特定的参数
并且这组参数是可以在编译过程中就检查出参数数量是否足够的
当你统一作为数组传递时,就需要在函数体内自己检查参数的合法性、完备性了
非要说弊端,这应该算一个
o_owangdong 2012-09-27
  • 打赏
  • 举报
回复
目前自己在开发中,一般只有做数据插入或者更新的时候,才会将参数定为数组,因为这个时候参数确实太多了
一起混吧 2012-09-27
  • 打赏
  • 举报
回复
没什么关系,只是形参而已 .
o_owangdong 2012-09-27
  • 打赏
  • 举报
回复
那就是说我写一个类,我可以把每个方法的参数都定义成数组咯,可是没看见那个框架是这么做的啊
一起混吧 2012-09-27
  • 打赏
  • 举报
回复
这能有什么弊端?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧