0

认为我正在尝试做的事情很明显。如果性别变量为 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'>
}
4

5 回答 5

2

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

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

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

于 2012-05-10T17:23:18.863 回答
1

您还可以尝试使用 switch 语句,例如:

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">';
于 2012-05-10T17:28:35.780 回答
1

M除非您为、F和设置了 php 常量定义HIDE,否则您需要将它们变成字符串。

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

还要记住,php 中没有枚举。

于 2012-05-10T17:23:24.480 回答
0

我会内联(像老板一样)

<img src="imgs/<?=($gender=="m"?"male.jpg":($gender=="f"?"female.jpg":"uni.jpg"))?>" />
于 2012-05-10T17:29:05.590 回答
0

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

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

而且,您的第一个“else”应该是 elseif

于 2012-05-10T17:23:10.680 回答