首先看看我的php脚本:
<?php
class user{
public function check_array($option['myname']=FALSE){
if($option['myname']==False){
echo $option['yourname'];
}else{
echo $option['myname'];
}
}
$user = new user();
$option['yourname']='Mr. X';
$option['myname']='Mamun';
$user->check_array();
?>
目标是我的脚本是在类方法调用中传递参数/参数。如果参数是一个数组,并且我想将数组元素声明为False(默认情况下),那么如何以正确的方式声明它。
以上代码无效。它显示以下错误: 解析错误:语法错误,意外'[',期待')'..........
如何以正确的方式声明上述数组元素?
答案 0 :(得分:0)
您无法向函数参数的键声明默认值。 您可以通过多种方式实现目标,例如:
public function check_array($option) {
if (is_array($option) && !isset($option['myname'])) {
$option['myname'] = false;
}
// do something else
}
答案 1 :(得分:0)
function check_array(array $option) {
$option += array('myname' => false, 'yourname' => null);
if ($option['myname'] !== false) {
echo $option['myname'];
} else {
echo $option['yourname'];
}
}
$option = array(
'yourname' => 'Mr. X',
'myname' => 'Mamun'
);
check_array($option);
你不能将数组结构及其默认内容声明为函数签名的一部分,它根本不可能,并且可以说是没有意义的。您可以使用+
在函数内以编程方式简单地使用默认值修改数组。您还可以要求参数为array
类型提示,我已在上面做过。
我也冒昧地删除了与class
相关的任何内容,因为这个例子不需要。