我正在尝试使用highlight_string显示我的代码。我的所有变量都被剥离了打印的代码。我究竟做错了什么?正在发生的事情的一个例子......
<?php highlight_string("
<?
$a=3;
$b=4;
if ($a < $b){
echo 'a is less than b';
}
?>");
?>
输出看起来像这样
<?
=3;
=4;
if ( < ){
echo 'a is less than b';
}
?>
答案 0 :(得分:7)
用单引号(')替换双引号(“) PHP试图填充双引号内打印的变量。
<?php highlight_string('
<?
$a=3;
$b=4;
if ($a < $b){
echo \'a is less than b\';
}
?>');
?>
答案 1 :(得分:1)
尝试使用单引号?
使用双引号打印变量的值而不是它们定义的名称。
答案 2 :(得分:1)
当您使用双引号"
时,您允许PHP将其变量的所有实例替换为其值。例如,如果我这样做:
$a=5;
echo "$a";
我的输出将是:
5
如果我做了......
$a=5
echo '$a';
我的输出将是
$a
答案 3 :(得分:1)
在php双引号字符串中,美元符号表示美元符号后面的变量应放入字符串中,即
$a = 1;
echo("A is $a");
#prints A is 1
即使没有定义$ a,php也会假设你想在这里创建$ a:
echo("A is $a");
#prints A is
要解决这个问题,请使用单引号字符串,字符串字符串:
echo('A is $a');
#prints A is $a
答案 4 :(得分:0)
单引号不能加倍
<?php highlight_string('
<?
$a=3;
$b=4;
if ($a < $b){
echo \'a is less than b\';
}
?>');
?>