我已经宣布了这些
$username = $this->users->getUsernameById($file->user);
$sessionuser = $this->session->userdata('username');
我如何比较两个值,如果匹配,执行代码? 我有
if ( $username == $sessionuser){
blalghalhalhalhllahblahhblahhblahhh
}
但是,即使两个变量相同,它似乎也不会触发if
语句。我做错什么了吗?可能不是==
,只是=
?
答案 0 :(得分:2)
使用strcmp()
函数 - 或strcasecmp()
进行不区分大小写的比较。
if ( strcmp($username, $sessionuser) == 0) {
答案 1 :(得分:2)
一般来说,PHP在比较操作方面非常宽容,因为该语言具有松散的动态特性。
尝试此操作来调试代码:
echo $username . '<br/>' . $sessionuser;
您可能会发现您期望的值实际上并不是您获得的值。
在单步执行代码时,我经常要做的另一件事就是放置这样的东西:
echo 'got here';
exit;
紧接if块内部,以确定该块是否正在执行,或者是否是块中未按预期执行的代码。