PHP+HTML if函数存在简写


PHP + HTML if function exists shorthand

我正在尝试创建一个带有PHP函数的<a>标记,该函数返回带有html的图像源。

我的代码目前是这样的:

if (returnString('image')) : echo '<img src="'.returnString('image').'" />'; endif;

其中我打算的最终输出是:

<img src="http://..." />

但它唯一的回报是:

"http://..."

这只是一根绳子。为什么会这样?

编辑:我实际上想补充一点,我想检查函数是否存在(如果为空,应该有任何回声),这就是为什么我在开始时有if

如果我不检查这样的功能,它就会工作:

echo '<img src="'; returnString('image'); echo '" />';

此处不需要:endif

试试这个:

if (returnString('image')) echo '<img src="'.returnString('image').'" />'; 

或者,您可以将返回值存储在一个变量中(正如mplungjan上面建议的那样),并在代码中使用它(更可读,IMO)。这样,就可以避免函数被调用两次。

$src = returnString('image');
if (isset($src)) echo '<img src="'.$src.'" />'; 

实际上,我想补充一点,我想检查函数是否存在,这就是为什么我在开头有if。

有一个内置功能,完全用于相同的目的——function_exists()

您可以执行以下操作:

if (function_exists('returnString')) {
    $src = returnString('image');
    echo '<img src="'.$src.'"/>';
}

希望这能有所帮助!

$str = returnString('image');
if (isset($str)) echo '<img src="'.$str.'" />'; 

试试这个:-

<?PHP 
$s="http://www.sagmart.com/image/logoes.png";
if($s) {
echo '<img src="'.$s.'" />';
}
?>

我不知道你会返回String('image'),所以我使用了新的变量。

删除最后一个中的endif。

你说它在你这样做的时候有效:

echo '<img src="'; returnString('image'); echo '" />';

此代码由三部分组成。第一个是echo并打印<img src="returnString()函数显然是自己打印的。最后一个也是echo并打印" />

但你说它不会在if内部,当你把它放成:

echo '<img src="'.returnString('image').'" />';

但请注意,在这里,您不希望returnString()函数自行打印。您希望它只是将要连接的值返回给您。如果函数真的自己打印,正如我上面所说的,那么您将在<img>标签

之前显示最终的src内容