以下文字链接在我将其直接放在我的html中时可以正常工作:
<a href="http://example.com/index.php?g=<?php echo $grade; ?>&s=<?php if($slcustom29 == 0) echo 1; else echo 0; ?>">Click here to <?php echo $showOrHideText; ?> the suggested sequence of lessons.</a>
但我想用以下代替:
<?php echo $gradeNote; ?>
在其他地方,$ gradeNote会根据学生用户的成绩分配一个字符串。经过几个小时的搜索和失败之后,我的问题是如何将这个片段作为文字字符串传递,而PHP没有尝试解析它并给我一个垃圾网址?我在这做错了什么:
$gradeNote = "<a href=\"http://example.com/index.php?g=<?php echo $grade; ?>&s=<?php if($slcustom29 == 0) echo 1; else echo 0; ?>\">Click here to <?php echo $showOrHideText; ?> the suggested sequence of lessons.</a>";
答案 0 :(得分:1)
尝试这样的事情。
$s = ($slcustom29 == 0) ? 1 : 0;
$gradeNote = "<a href=\"http://example.com/index.php?g={$grade}&s={$s}\">Click here to {$showOrHideText} the suggested sequence of lessons.</a>";
任何带双引号“”的字符串都可以嵌入变量,{}不是必需的,但我总是在这样的情况下使用它们,你试图嵌入一个没有空格的变量,“$ xabc”这将返回不同的结果“{$ x} ab”
答案 1 :(得分:1)
问题是你试图将php逻辑放入字符串中。请注意,您在字符串文字中有一个IF命令。从一个小的或空的字符串开始,然后逐个插入它,而不是一行。
然后你可以回显单变量链接
答案 2 :(得分:1)
您正在PHP变量中运行<?php
和?>
标记 。由于您已经在处理PHP,因此这些都是不必要的。
尽管引号""
允许您回显评估变量,但由于您还在此字符串中运行了条件,所以&#39; 39; ll想要推断出来并简单地将结果存储为变量。我打电话给我$show
。
因此,您只是在寻找:
if($slcustom29 == 0) {
$show = 1;
}
else {
$show = 0;
}
$gradeNote = "<a href=\"http://example.com/index.php?g=$grade;&s=$show\">Click here to $showOrHideText the suggested sequence of lessons.</a>";
请记住要么逃避<a href="">
中的双引号,要么将它们换成单引号。
可以看到 here 。
希望这有帮助!