-1

我正在尝试在标签中回显图像以及图像的 ID 和 EXT,但它似乎不起作用。

这是产生错误的代码行:

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

我尝试使用不带变量的精确查询,结果没问题 D:

THIS ONE 完美运行 /

  echo '<div><img src="gallery/13.png" height="auto" width="auto" border="2"></div>';

编辑: 错误消息'(!)解析错误:语法错误,意外的T_CONSTANT_ENCAPSED_STRING,期望','或';' 在第 22 行的 C:\wamp\www\Final Project\view_gallery.php 中

4

5 回答 5

4

您曾经用 a 更改了,a '

echo '<div><img src="gallery/',$gimage['id'],'.',$gimage['ext'],' height="auto" width="auto" border="2"></div>';
---------------------------------------------------------------^^
于 2013-04-22T15:54:43.393 回答
0

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

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

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

于 2013-04-22T16:14:42.193 回答
0

PHP 中的连接运算符.,您所做的不同。

编辑 :

似乎我在anwser上错了。您的错误是您忘记了代码中的单引号。

但是我必须补充一点,多参数回显速度非常慢,比串联回显慢大约 30%,甚至不考虑 PHP ZendEngine 的字符串缓存。

于 2013-04-22T15:53:16.960 回答
0

你这里有一个错字:

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

它应该是:

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

您也可以考虑使用printf()

printf('<div><img src="gallery/%s.%s" height="auto" width="auto" border="2"></div>',
    $gimage['id'],
    $gimage['ext']
);
于 2013-04-22T15:55:54.363 回答
0

Mathieu 'OtaK' Amiot 是对的...... PHP 中的连接运算符是.而不是,- 但是,您可以将其全部留在字符串中......就像这样:

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

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

于 2013-04-22T15:57:03.507 回答