在php数组循环中放置图像标记的正确方式是什么?

4

我希望能够在PHP数组中动态地从数据库中获取图片标签。该数组最终将直接呈现在页面上。

那么,在数组中使用图片标签的正确语法是什么?即:一旦数组在页面上呈现,图片标签应该显示为图像而不是简单的文本。

也许如果我给你展示一下我的意思会更容易理解:

foreach($rows as &$row)
  {  
   $this->_rows[] = array(
    'thumnail'  => '<img style="width: 180px; height: 80px;" src="<?= THUMBNAILn_Assets::getProductThumbnail($row->id) ?>" />',
   );
  };

图像标签在页面上呈现为简单的文本,而不是图像。


<?= 和 ?> 在 C# Visual Studio 前后端通信中很常见,但在这种特定情况下逻辑是不必要的,因为你只需要在 PHP 代码周围加上 PHP 开始和结束语法,而不是在已经存在于合法 PHP 代码中的特定 PHP 方法/变量周围加上语法。如果你在上面的某个地方说 $foo = THUMBNAILn_Assets::getProductThumbnail($row->id),那么 src="$foo" 也是完全合法的,不需要开头和结尾标签。 - Jonast92
2个回答

2
试试这个:
foreach($rows as &$row)
  {  
   $this->_rows[] = array(
    'thumnail'  => '<img style="width: 180px; height: 80px;" src="'. THUMBNAILn_Assets::getProductThumbnail($row->id) .'" />',
   );
  }

不需要在src属性内再次使用php标签(<?=?>)。

0
  foreach($rows as &$row)
  {  
     $t_pic['thumnail'] = THUMBNAILn_Assets::getProductThumbnail($row->id);

     $this->_rows[] = $t_pic;
  }

或者

  $t_pic['thumnail'] = '<img style="width: 180px; height: 80px;" src="'. THUMBNAILn_Assets::getProductThumbnail($row->id) .'" />';

让它更清晰简单些,将HTML标签存储在PHP变量中不是一个好的实践。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接