我想要一个以1个参数作为输入的函数,如果没有传递值,它应该将默认值作为另一个函数的输出。我在PHP中使用Class来实现这一点,但它给了我错误"常量表达式包含无效操作"
<?php
class Common
{
public $usrname;
function getLoggedInUser(){
if (ISSET($_SESSION['email'])) {
$this->usrname = ($_SESSION['email']);
return $this->usrname;
}
return false;
}
function getLoggedInUserId($username = $this->usrname){
echo $username;
}
}
将类文件调用为
<?php
include "common.php"
$c = new Common;
$c->getLoggedInUserId();
以下是针对上述呼叫显示的错误
致命错误:常量表达式包含无效操作
请让我知道如何将函数结果作为另一个函数的参数传递。感谢
答案 0 :(得分:2)
getLoggedInUserId
用户必须重新定义如下
function getLoggedInUserId($username=""){
if(empty($username)){
echo $this->usrname;
}else{
echo $username;
}
}
答案 1 :(得分:2)
将您的功能更改为:
public function getLoggedInUserId($username=""){
$username = ($username == "") ? $this->usrname : $username;
}
答案 2 :(得分:1)
由于默认值必须是常量值,您需要编写类似这样的内容......
function getLoggedInUserId($username = null){
if ( $username == null ) {
$username = $this->usrname;
}
echo $username;
}