エコーの途中で連結してif文を書きたいのですが、可能ですか? これが私が持っているものです。
echo "<li class='".if ($_GET["p"] == "home") { echo "active"; }."'><a href='#'>Home</a> </li>";
エコーの途中で連結してif文を書きたいのですが、可能ですか? これが私が持っているものです。
echo "<li class='".if ($_GET["p"] == "home") { echo "active"; }."'><a href='#'>Home</a> </li>";
このように、三項演算子を使用すると、次のようになります。
echo "<li class='". (($_GET["p"] == "home") ? "active" : "") . "'><a href='#'>Home</a> </li>";
echo "<li class='".(($_GET["p"] == "home") ? "active" : "")."'><a href='#'>Home</a> </li>";
次のようにします。
echo "<li class='".($_GET["p"] == "home" ? 'active' : '') ."'><a href='#'>Home</a> </li>";
乱雑なインライン連結の代わりに、慣れることをお勧めしprintf()
ますか?
$format = '<li class="%s"><a href="#">Home</a> </li>';
printf($format, ($_GET['p'] == 'home') ? 'active' : '');