0

値が特定の値と一致するかどうかに応じて、リンクアドレスを変更したい。しかし、構文エラーを返しています。何を変更する必要がありますか?私が得ているエラーは構文エラー、予期しないT_IFです

echo "<a href='".if($type=='group'){echo'link_a';}else{echo 'link_b';}."'>".$usaname."</a>
4

7 に答える 7

4

これを試して

$link = ($type=='group') ? 'link_a' : 'link_b';

echo "<a href='".$link."'>".$usaname."</a>
于 2012-05-04T17:00:11.393 に答える
3

ハイパーリンクまたは印刷しているテキスト内でifステートメントを使用することはできません。代わりに、このようなコードを作成し、HTMLが出力される場所の外に条件付き(およびその他の)関数を保持する必要があります。

if ($type == "group"){ $link = "link_a"; } else { $link = "link_b"; }
echo "<a href='$link'>$usaname</a>
于 2012-05-04T17:01:43.587 に答える
2
echo "<a href='". $type=='group' ? 'link_a' : 'link_b';."'>".$usaname."</a>
于 2012-05-04T17:01:26.900 に答える
1

この場合、三項演算子が便利です。

echo "<a href='" . ($type == 'group' ? 'link_a' : 'link_b') . "'>" . $usaname . "</a>";
于 2012-05-04T17:01:59.253 に答える
1

次のようなことをする必要があります。

echo "<a href=\"" . ($type == "group") ? "link_a" : "link_b" . "\"></a>

それはおそらく私が見つけることができる最も短くてきれいな方法です。

于 2012-05-04T17:02:09.430 に答える
1

三項演算子を使用する

echo "<a href='". ($type == 'group' ? 'link_a' : 'link_b') ."'>" . $username ."</a>";
于 2012-05-04T17:08:08.780 に答える
0

三元を試してみてください...

echo '<a href="', htmlspecialchars(($type==='group') ? 'link_a' : 'link_b'), '">', htmlspecialchars($usaname), '</a>';

それは物事を少し単純化するはずです。また、htmlspecialchars()有効なHTMLを取得するために使用することをお勧めします。

于 2012-05-04T17:00:54.053 に答える