为什么echo $report
有空值? class validate
中的任何失败?
如何让它通过class validate
返回正确的价值?
<?php
class validate{
function status($status){
header('Location:',true,$status);
$report="Error: $status";
}
function fine(){
$report='Ok!';
}
}
$validate=new validate($id);
//$id=0;
$id=(isset($id) ? $id : NULL);
(($id==0) ? $validate->fine() : $validate->status('404'));
echo $report; // Why it has empty value? How to solve it?
?>
答案 0 :(得分:1)
将其声明为类中的公共变量,使用$ this-&gt; report设置它,并使用$ validate-&gt; report回显它。
示例:
class validate{
public $report;
function status($status){
header('Location:',true,$status);
$this->report="Error: $status";
}
function fine(){
$this->report='Ok!';
}
}
答案 1 :(得分:0)
$ report是验证对象中的类变量。 echo $report
正在寻找本地范围内的变量,而不是您的对象。请改为echo $validate->report
。