如果变量等于字母或单词

时间:2012-05-10 17:20:30

标签: php mysql

认为我很想知道我要做什么。如果性别变量为M,则显示男性图像。我尝试了一些东西,例如删除=,但我没有取得任何成功。

我完全错了吗?

if ($gender == M){
<img src='images/male.png' width='45px' height'45px'>
}else{
($gender == F){
 <img src='images/female.png' width='45px' height'45px'>
}else{
($gender == HIDE){
<img src='images/uni.png' width='45px' height'45px'>
}

5 个答案:

答案 0 :(得分:2)

除非这些是常量,否则您需要将字符串封装在引号中:

if($gender == 'M') {
?>
<img src="images/male.png" width="45" height="45" />
<?php
} else {

另外,请注意(你的代码给出语法错误)你如何混合html和php。你应该使用CSS来设置样式,而不是内联属性(不推荐使用)

答案 1 :(得分:1)

除非你为MFHIDE设置了php常量定义,否则你需要将它们变成字符串。

常数:http://php.net/manual/en/function.define.php

还记得,php中没有enumeratios。

答案 2 :(得分:1)

您还可以尝试使用以下开关语句:

switch(strtoupper($gender))
{
    case 'M': $gender_img = 'male'; break;
    case 'F': $gender_img = 'female'; break;
    case 'HIDE': $gender_img = 'uni'; break;
    default: $gender_img = 'uni'; break;
}

echo '<img src="images/'.$gender_img.'.png" width="45px" height="45px">';

答案 3 :(得分:0)

if($ gender ==='M'){

// or to make sure $gender is uppercase:
if (strtoupper($gender) === 'M'){
...
}
elseif { ...

并且,你的第一个“其他”应该是一个elseif

答案 4 :(得分:0)

我会内联(像老板)

<img src="imgs/<?=($gender=="m"?"male.jpg":($gender=="f"?"female.jpg":"uni.jpg"))?>" />