php - 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);
}
解决方案
推荐阅读
- javascript - 如何根据内容高度重置画布对象高度?
- angularjs - 如何使用 webpack 包含 node_modules?
- hyperledger-fabric - 如何在用户应用程序中获取通知?
- java - 如何使用第一维作为键和流将二维数组映射到 HashMap
- java - 我的 Java 应用程序的数据库连接中断
- json - Ansible,从 JSON 响应中读取值时出错
- mysql - 当我尝试运行查询以查找 sesison 在一天内创建 30 天的总数时
- javascript - 如何通过 ajax 对 REST Web 服务进行身份验证
- ios - 号码检测中的 Swift IOS 自定义操作
- sql - 如何在 Postgres 中实现并行