如何在 php 中的函数参数中将数组索引声明为布尔值
how to declare array index as boolean in function parameter in php
先看看我的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();
?>
Objective 是我的脚本是在 class 方法调用中传递 argument/parameter。如果参数是一个数组,并且如果我想将数组元素声明为 False(默认情况下),如何以正确的方式声明它。
以上代码无效。它显示以下错误:
解析错误:语法错误,意外的“[”,期待“)”.........
如何正确声明上述数组元素?
您不能为函数参数的键声明默认值。
您可以通过多种方式实现您的目标,例如:
public function check_array($option) {
if (is_array($option) && !isset($option['myname'])) {
$option['myname'] = false;
}
// do something else
}
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
相关的所有内容,因为对于此示例来说没有必要。
先看看我的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();
?>
Objective 是我的脚本是在 class 方法调用中传递 argument/parameter。如果参数是一个数组,并且如果我想将数组元素声明为 False(默认情况下),如何以正确的方式声明它。
以上代码无效。它显示以下错误: 解析错误:语法错误,意外的“[”,期待“)”.........
如何正确声明上述数组元素?
您不能为函数参数的键声明默认值。 您可以通过多种方式实现您的目标,例如:
public function check_array($option) {
if (is_array($option) && !isset($option['myname'])) {
$option['myname'] = false;
}
// do something else
}
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
相关的所有内容,因为对于此示例来说没有必要。