php中的字符串比较

时间:2013-03-31 01:17:25

标签: php string

在我的项目中,需要更新mysql表值,所以当用户看到他/她的个人资料然后他/她可以更新他/她的个人资料,点击“更新个人资料”按钮后他/她会看到一个表格填写以前的数据,然后他可能会改变他的个人资料。我想检查他/她是否更新信息,因此我从数据库中获取该用户信息并检查他/她输入的当前信息,如果值更改,则将该更改的值存储在其他阵列上并仅存储该更改的信息。所以我使用strcmp(str1,str2)函数,但它不起作用,所以我使用“===”它只适用于小数据,如名称,密码等。但我还需要检查他/她是否改变他的/她的传记与否,我使用该功能,但它不起作用。

我的代码::

  <?php
          $users = $user->user_info_by_id($object->id);  // get user's info from database

          foreach( $users as $user )  {  // 
            if( $user->user_name === $arrayValue['user_name'] )  // here $arrayValue['user_name'] is the recent info that user sent to update his profile 
                echo "<br /> value matched";   // it matched
            else {
                echo "<br /> value not matched";
            }

            if( $user->user_biography === $arrayValue['user_biography'] ) // it doesn't work, here 'user_biography' is 'text' type data in mysql database
                echo "<br /> value matched";
            else 
                echo "<br /> value not matched";  // answer is always 'value not matched'
        }

   ?>  

1 个答案:

答案 0 :(得分:1)

strcasecmp应该做的工作。我知道你在答案中提到过你尝试过strcmp并且它没有用,但是你没有提及或展示你是如何使用它的。

尝试:

if($user->user_biography === trim($arrayValue['user_biography']) != 0) {
   // user_name changed. 
 } else {
   //user_name did not change
}