简体   繁体   中英

PHP if statement not functioning correctly

I am trying to run an if statment then checks if a cell in database holds a certain value then it sets a variable, if it does not contain that value then it sets a different value

I have tried the following code

        case "Chemistry":
        $type_tarin_text = ' Exp in ';
        if($user_playerdata_tab['profile_type']='Drug Runner') {
        $treining_value =$sp_value*11;
        } else {
        $treining_value =$sp_value*10;
        }
        $this->AddSubValueByUserID($player_id,'PlayerData','CHEMISTRY_EXP',$treining_value);
        break;

It is currently setting the $treining_value as $sp_value*11 regardless of wether profile_type is 'Drug Runner' or not.

Please use == or strict === since you're expecting a string.

You're now assigning a variable which is likely not what you are trying to do.

As others have helpfully pointed out, the issue is here:

$user_playerdata_tab['profile_type']='Drug Runner'

The single = means assignment. What you were intending to do was to test whether the two were equal.

That means using == - or, to be more strict, use === (make that your go-to equality check in the future - you'll thank us later)

Your other assignments are fine, though I would recommend a single space both sides of your = signs for readability

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM