社区
基础编程
帖子详情
所有方法都用array参数,这样做在项目开发中有哪些弊端?
o_owangdong
2012-09-27 04:31:28
php是一个弱类型语言,在项目中,如果我把所有方法入口都定义成$array,这样做的弊端是哪些,如:function test($array)
...全文
157
14
打赏
收藏
所有方法都用array参数,这样做在项目开发中有哪些弊端?
php是一个弱类型语言,在项目中,如果我把所有方法入口都定义成$array,这样做的弊端是哪些,如:function test($array)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
这能有什么弊端?
MyBatis基础 --
参数
传递、
参数
映射、注解
开发
、字符串替换、面试考察
文章目录MyBatis中的
参数
传递多个
参数
单个
参数
注解
开发
MyBatis中的
参数
传递 Mybatis 接口
方法
中可以接收各种各样的
参数
,如下: 多个
参数
单个
参数
:单个
参数
又可以是如下类型 POJO 类型 Map 集合类型 Collection 集合类型 List 集合类型
Array
类型 其他类型 多个
参数
如下面的代码,就是接收两个
参数
,而接收多个
参数
需要使用 @Param 注解,那么为什么要加该注解呢?这个问题要弄明白就必须来研究Mybatis 底层对于这些
参数
是如何处理的。 User
DTLib -
Array
、Static
Array
、Dynamic
Array
1、数组类的创建 目标:完成
Array
,Static
Array
,Dynamic
Array
类的具体实现 需求分析:创建数组类代替原生数组的使用 - 数组类包含长度信息,能够主动发现越界访问
Array
设计要点 -抽象类模板,存储空间的位置和大小由子类完成 -重载数组操作符,判断访问...
Windows CE .NET 应用程序
开发
:我有哪些选择?
摘自MSDN:http://www.microsoft.com/china/msdn/archives/library/dnembedded/html/embedded02042003.aspWindows CE .NET 应用程序
开发
:我有哪些选择? 摘要:比较 Microsoft Windows CE .NET 应用程序
开发
人员目前可以使用的三种
开发
选择(即 Win32、MF
前端
开发
- JS中函数传参的坑
问题: 使用JS的函数时,将对象类型的值作为
参数
传到函数内,且在函数内修改了该
参数
,导致原值被修改。 原因: JS函数的
参数
有两种类型,基本类型和引用类型。传参时会传入一个该值的拷贝,且该拷贝类型为浅拷贝 浅拷贝与深拷贝 首先,浅拷贝和深拷贝都只针对于像Object,
Array
这样的复杂对象, 区别:浅拷贝只复制对象的第一层属性、深拷贝可以对对象的属性进行递归复制 解决办法: 不在
方法
里修改引用...
yeoman构建
项目
generator(yeoman-generator)
前言:在开始一个新
项目
得时候,如果我们已经有存在得
项目
,大多数都会借鉴这个
项目
,包括他的基础配置,以及一些公共的组件。而往往采用的方式都是复制粘贴,如果
项目
比较复杂,这样
做
有几个很明显的
弊端
,一是比较耗时,二是容易出错。即使我们重新构建一个新的脚手架,也需要根据
项目
的需求
做
不少的添加更改等等,其实经过简单的分析,在我们的许多
项目
当中都有很多共性的东西,哪我们有没有一个
方法
,在每次需
开发
新
项目
的时候...
基础编程
21,886
社区成员
140,365
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章