duandu1377 2015-02-03 14:48
浏览 7
已采纳

从函数/方法返回多个值

I have a method in my class that I want to return more than one value:

public function lockFields($lockFieldsDBs, $lockValueConstant) {
    if ($lockFieldsDBs == $lockValueConstant) {
        $lockFieldValue = 'readonly="readonly"';
        $lockImage      = 'image_url_goes_here';
    }
    else {
        $lockFieldValue = null;
        $lockImage = null;
    }

    return $lockField;
    return $lockImage;
}


...........


$lockFieldsDBs = 'OK';
$lockValueConstant = 'OK';

$formHandler->lockFields($lockFieldsDBs, $lockValue);

When trying to print out a value like this: echo $lockImage;, I am getting Undefined variable: lockImage.

Why isn't the value being returned?

  • 写回答

5条回答 默认 最新

  • doudou3213 2015-02-03 14:57
    关注

    You can return two or more values from a function with help of the list() language construct:

    public function lockFields($lockFieldsDBs, $lockValueConstant) {
        if($lockFieldsDBs == $lockValueConstant){
            $lockFieldValue = 'readonly="readonly"';
            $lockImage = 'image_url_goes_here';
        }
        else {
            $lockFieldValue = null;
            $lockImage = null;
        }
    
        return [$lockField, $lockImage];
    }
    
    
    
    list($lockField, $lockImage) = $formHandler->lockFields($lockFieldsDBs, $lockValue);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改