如何在回显语句 php 中使用 if 和声明变量


How to use if and declare variable in echo statement php

我在 echo 语句中有一个这样的条件,如何调整它以使其工作:

echo "<option value="http://localhost/myproject/index.php?if(empty($_GET['view'])){echo "view=main-content";}else{$view=basename($_GET['view']);echo "view=".$view;}"></option>";

非常感谢

我注意到您使用了两次view,如果您条件输入else,您的最终网址将是这样的:?view=whateverview=whatever2这显然是错误的。

$view = (empty($_GET['view']) ? 'main-content' : basename($_GET['view']));
echo "<option value='http://localhost/myproject/index.php?view=" . $view . "'></option>";
如果要

向 URL 添加更多参数,则需要使用 &

这是

您的预期输出吗?

$d =  "<option value='http://localhost/myproject/index.php?";
if(empty($_GET['view']))
{
$d .= "view=main-content";
}
else
{
$view=basename($_GET['view']);
$d .="view=".$view;
};
$d .="'>Testing</option>";
echo "<select>". $d."</select>";

你可以把它传递给一个变量,并将其与 echo 语句的其余部分连接起来。

if(empty($_GET['view'])){ 
    $res = 'main-content';
} else {
    $res = basename($_GET['view']);
}
echo '<option value="http://localhost/myproject/index.php?view=' . $res . '"></option>';

由于没有其他人发布它:

echo '<option value="http://localhost/myproject/index.php?view='
   . (empty($_GET['view']) ? 'main-content' : basename($_GET['view'])
   . '"></option>';