首页 > 解决方案 > else 条件有效,即使为真

问题描述

我正在使用 codigniter 3.1.2 并在 php 中使用简单的 if 条件,但是当我检查我的条件是否为 true 时,我真的很困惑,从 else 条件中获取结果以及 if 也意味着从这两种情况下获取数据。

 public function editexperience($UserID = 0, $ID = 0) {
    if ($this->Access->HaveAccess('Edit')) {
        $Row = $this->Experience->Row($ID);
        if ($ID > 0 && $Row){
            print_r($Row);

            Def(array(
                'Update'=>'users/submit/updateexperience/'
            ),'Actions');
            $User = $this->Model->Row(intval($UserID), '', 'CTRY.Currency');
            $ID = intval($ID);
            $Data['Row'] = $Row;
            Def($Row,'Row');
            $Data['Title'] = 'Edit Experience';
            $Data['Fields'] = $this->GetExperienceFields($User->Currency, true);
            $this->Main->SetPage('Helper/Edit', $Data, true);
        } else {
            TempNote('There is problem while getting request data!', 'Error');
            redirect(URI(_E('{Page.List}'), true), 'refresh');
            die();
        }
    }
}

在我提到的代码中,如果我有 Row 然后加载编辑模板。

认为:

我有 Row 及其加载编辑模板,并且还显示了 else 条件的错误,这确实使正在发生的事情感到困惑。

我的 PHP 版本是 5.6.31

TempNote 功能

function TempNote($Message, $Type) {
    //Prepare Data
    $Current = array('Message'=>$Message,'Type'=>$Type);
    //Get current instance
    $Ins = & get_instance();
    $Old = $Ins->Main->Messages;

    // If another is already set and that should not be current
    if (!empty($Old)) {
        foreach ($Old as $Key=>$Now) {
            if ($Now === $Current){
                unset($Old[$Key]);
            }
        }
    }
    $Ins->Main->Messages[] = $Current;
    $Ins->session->set_flashdata('Message', $Ins->Main->Messages);
}

标签: phpcodeignitercodeigniter-3

解决方案


推荐阅读