如何防止PHP变量和表达式在字符串中展开
当我将以下文本链接直接放在html中时,它可以正常工作:如何防止PHP变量和表达式在字符串中展开,php,Php,当我将以下文本链接直接放在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 l
<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试图解析它并给我一个垃圾url?我在这里做错了什么:
$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>";
$gradeNote=”“;
试试这样的方法
$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>";
$s=($slcustom29==0)?1 : 0;
$gradeNote=“”;
任何带有双引号“”的字符串都可以嵌入变量,{}不是必需的,但我总是在这样的情况下使用它们,即您尝试嵌入一个周围没有空格的变量,“$xabc”,它将返回一个不同的结果“{$x}ab”尝试类似的方法
$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>";
$s=($slcustom29==0)?1 : 0;
$gradeNote=“”;
任何带有双引号“”的字符串都可以嵌入一个变量,{}不是必需的,但我总是在这样的情况下使用它们,在这种情况下,您试图嵌入一个没有空格的变量,“$xabc”,它将返回一个不同的结果“{$x}ab”,问题是您试图将php逻辑放入字符串中。注意,字符串文本中有一个IF命令。从一根小的或空的绳子开始,一块一块地粘在上面,而不是在一行中
然后您可以回显单变量链接,问题是您试图将php逻辑放入字符串中。注意,字符串文本中有一个IF命令。从一根小的或空的绳子开始,一块一块地粘在上面,而不是在一行中 然后,您可以在PHP变量的内部回显正在运行的标记的单变量链接。因为您已经在处理PHP,所以这些都是不必要的 尽管引号
“
允许您回显已计算的变量,因为您也在这个“字符串”中运行一个条件,但您需要将其外推出来,并将结果存储为一个变量。我给我的$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>";
if($slcustom29==0){
$show=1;
}
否则{
$show=0;
}
$gradeNote=“”;
请记住对中的双引号进行转义
希望这有帮助 您正在PHP变量的内部运行
标记。因为您已经在处理PHP,所以这些都是不必要的
尽管引号“
允许您回显已计算的变量,因为您也在这个“字符串”中运行一个条件,但您需要将其外推出来,并将结果存储为一个变量。我给我的$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>";
if($slcustom29==0){
$show=1;
}
否则{
$show=0;
}
$gradeNote=“”;
请记住对
中的双引号进行转义
希望这有帮助 “给我一个垃圾url”你到底得到了什么?使用单引号而不是双引号?=
在语句$gradeNote=…
中被错误地使用了垃圾url示例:“给我一个垃圾url”你到底得到了什么?使用单引号而不是双引号?=
在语句$gradeNote=…
中被错误地使用了我得到的垃圾url示例: