如何比较两个字符串变量?

时间:2009-08-03 00:56:36

标签: php

我已经宣布了这些

$username = $this->users->getUsernameById($file->user);
$sessionuser = $this->session->userdata('username');

我如何比较两个值,如果匹配,执行代码? 我有

if ( $username == $sessionuser){

blalghalhalhalhllahblahhblahhblahhh
}

但是,即使两个变量相同,它似乎也不会触发if语句。我做错什么了吗?可能不是==,只是=

2 个答案:

答案 0 :(得分:2)

使用strcmp()函数 - 或strcasecmp()进行不区分大小写的比较。

if ( strcmp($username, $sessionuser) == 0) {

答案 1 :(得分:2)

一般来说,PHP在比较操作方面非常宽容,因为该语言具有松散的动态特性。

尝试此操作来调试代码:

echo $username . '<br/>' . $sessionuser;

您可能会发现您期望的值实际上并不是您获得的值。

在单步执行代码时,我经常要做的另一件事就是放置这样的东西:

echo 'got here';
exit;

紧接if块内部,以确定该块是否正在执行,或者是否是块中未按预期执行的代码。