关于array()和 array(null)

sunyangbupt 2010-06-11 12:22:52
编程中遇到个问题,给方法传递参数的时候,如果参数可有可无的话,用array()就行,但是我这里必须加上null,即array(null)才能通过,否则就报错说无效的参数

ps:期望array(),不用加 null

请问这个情况应该如何解决。

同学在redhat下开发就没有问题,我是在Ubuntu下开发的
...全文
385 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianglin28290 2010-06-11
  • 打赏
  • 举报
回复
你设一个默认值,什么也不需要填
kyzy_yy_pm 2010-06-11
  • 打赏
  • 举报
回复
要想解决还是把相关代码贴出来,不然不了解情况
kyzy_yy_pm 2010-06-11
  • 打赏
  • 举报
回复
array(null);
为真,因为array()不是空的,他的键是0,值是null,count()为1
array()
为假,他没有键和值count()为 0
sunyangbupt 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kyzy_yy_pm 的回复:]
PHP code

XXXX::call($methodname, $params = ''){//去掉array
if(!is_array($params) && $params){
echo '您传递的参数不是数组类型';exit;
}else{
//
}
}
[/Quote]

恩,谢谢了,我试试吧,要是有问题再请教
sunyangbupt 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jianglin28290 的回复:]
XXXX::call($methodname, $params = array() ){....}

调用
$cnt = XXXX::call('Customer.Count()');

这样就可以了
[/Quote]

您好,要求的是call()必须有个方法名和array(),array()中放的是参数

即,必须写成XXXX::call('methodname', array($a, $b, $c));表示传入methodname方法的三个参数是$a $b

$c,对于不需要参数的方法,要求写成XXXX::call('methodname', array());
jianglin28290 2010-06-11
  • 打赏
  • 举报
回复
XXXX::call($methodname, $params = array() ){....}

调用
$cnt = XXXX::call('Customer.Count()');

这样就可以了
kyzy_yy_pm 2010-06-11
  • 打赏
  • 举报
回复

XXXX::call($methodname, $params = ''){//去掉array
if(!is_array($params) && $params){
echo '您传递的参数不是数组类型';exit;
}else{
//
}
}
kyzy_yy_pm 2010-06-11
  • 打赏
  • 举报
回复
XXXX::call($methodname, array $params = ''){
if(!is_array($params) && $params){
echo '您传递的参数不是数组类型';exit;
}else{
//
}
}
Dleno 2010-06-11
  • 打赏
  • 举报
回复

function abc($a,$b="",$c=0){

}
abc(1);
abc(2,"abc");
abc(3,"zbc",666);
weskiter31 2010-06-11
  • 打赏
  • 举报
回复
不懂,帮顶
sunyangbupt 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kyzy_yy_pm 的回复:]

要想解决还是把相关代码贴出来,不然不了解情况
[/Quote]

谢谢解答

这是后台call方法定义的函数原型,XXXX::call($methodname, array $params = array() ){....}

程序只要按照规则使用这个call方法就行了:如下

$cnt = XXXX::call('Customer.Count()', array()); //期望应该这样写

但是我的必须在array()中加入null,即 $cnt = XXXX::call('Customer.Count()', array(null));

函数返回Customer的数量,Customer.Count()交给后台实现的

21,887

社区成员

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

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