Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止PHP变量和表达式在字符串中展开_Php - Fatal编程技术网

如何防止PHP变量和表达式在字符串中展开

如何防止PHP变量和表达式在字符串中展开,php,Php,当我将以下文本链接直接放在html中时,它可以正常工作: <a href="http://example.com/index.php?g=<?php echo $grade; ?>&amp;s=<?php if($slcustom29 == 0) echo 1; else echo 0; ?>">Click here to <?php echo $showOrHideText; ?> the suggested sequence of l

当我将以下文本链接直接放在html中时,它可以正常工作:

<a href="http://example.com/index.php?g=<?php echo $grade; ?>&amp;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; ?>&amp;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}&amp;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}&amp;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;&amp;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;&amp;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示例: