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

MF、およびの php 定数定義を設定していない限りHIDE、それらを文字列にする必要があります。

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

また、php には列挙型がないことにも注意してください。

于 2012-05-10T17:23:24.480 に答える
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 に答える
0

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

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

そして、最初の「else」はelseifでなければなりません

于 2012-05-10T17:23:10.680 に答える
0

私はそれをインラインで行います(上司のように)

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