PHP回波图像<;部门>;使用php变量

PHP回波图像<;部门>;使用php变量,php,image,variables,html,Php,Image,Variables,Html,我试图回显标签内的图像加上图像的ID和EXT,但它似乎不起作用 这是产生错误的代码行: echo '<div><img src="gallery/',$gimage['id'],'.',$gimage['ext']', height="auto" width="auto" border="2"></div>'; echo'; 我尝试在没有变量的情况下使用精确的查询,结果是ok D: 这台运行得很好/ echo '<div><img s

我试图回显标签内的图像加上图像的ID和EXT,但它似乎不起作用

这是产生错误的代码行:

echo '<div><img src="gallery/',$gimage['id'],'.',$gimage['ext']', height="auto" width="auto" border="2"></div>';
echo';
我尝试在没有变量的情况下使用精确的查询,结果是ok D:

这台运行得很好/

  echo '<div><img src="gallery/13.png" height="auto" width="auto" border="2"></div>';
echo';
编辑:
错误消息“(!)解析错误:语法错误,意外的T_常量_封装的_字符串,应为”“或”“;”在C:\wamp\www\Final Project\view_gallery.php第22行

中,php中的连接运算符是
,而不是

编辑:

看来我在安瑟尔错了。您的错误是在代码中忘记了一个引号


但是,我必须补充一点,multiple param echo的速度非常慢,比使用串联的echo慢30%左右,甚至没有考虑PHP ZendEngine的字符串缓存。

您在某一点上更改了一个
和一个

echo '<div><img src="gallery/',$gimage['id'],'.',$gimage['ext'],' height="auto" width="auto" border="2"></div>';
---------------------------------------------------------------^^
echo';
---------------------------------------------------------------^^
您在此处输入了一个错误:

echo '<div><img src="gallery/',$gimage['id'],'.',$gimage['ext']', height="auto" width="auto" border="2"></div>';
                                                               ^

马修·奥塔克·阿米奥特是对的。。。PHP中的串联运算符是
,而不是
——但是,您可以将其全部保留在字符串中。。。像这样:

echo "<div><img src='gallery/$gimage['id'].$gimage['ext']' height='auto' width='auto' border='2'></div>";
echo”“;

PHP会为您将变量放入字符串中,但我认为分离和连接更合适。

考虑对复杂语句使用printf()或sprintf(),因为您可以更容易地发现错误:

printf(
    '<div><img src="gallery/%s.%s" height="auto" width="auto" border="2"></div>',
    $gimage['id'],
    $gimage['ext']
);
printf(
'',
$gimage['id'],
$gimage['ext']
);

Sprintf()将返回一个字符串,以防您需要它进行进一步处理。

我想知道现在人们是否真的从hello world开始。@Darkthulhu-但是echo将很好地与a配合使用,以定义参数列表;无需连接them@DarkCthulhu
在性能上优于
view@DeojeffLai根据你的问题,正确的答案是Sirko的,你错放了一个本应在合同范围之外的报价comma@DarkCthulhu同意,但这不是无效的。谁说这是串联
是参数分隔符,因为它在这里使用
echo
也可以与
一起使用,以输出多个变量等,而无需先将它们串联起来-1 from php.net“echo(与其他一些语言构造不同)的行为与函数不同,因此它不能始终在函数上下文中使用。此外,如果要将多个参数传递给echo,则不能将参数括在括号内。”这就是OP所做的,我的错,尽管这个构造没有被广泛使用。@JuanMendes但是我必须补充的是,多个参数echo的速度非常慢,大约比串联慢30%,甚至没有考虑PHP ZendEngine的字符串缓存。这就是为什么您应该删除-1;-)变量不在单引号内插值。谢谢-我修复了字符串。谢谢你指出了真正的答案;)
echo "<div><img src='gallery/$gimage['id'].$gimage['ext']' height='auto' width='auto' border='2'></div>";
printf(
    '<div><img src="gallery/%s.%s" height="auto" width="auto" border="2"></div>',
    $gimage['id'],
    $gimage['ext']
);