我有这个foreach输出一个帖子的链接,它的名字和一个图标,如果该帖子被读/未读。
foreach (BLAHBLAH) {
$is_read = !in_array($obj->id, $unread_msgs);
$title = $obj->title;
$url = $obj->url;
$output = '<li><a href="'.$url.'">'. $title;
if ($is_read) {
$output .= ' <img src="icon-read.png" />';
} else { $output .= ' <img src="icon-unread.png" />'; }
$output .= '</a></li>';
echo $output;
}
因此输出格式为<li><a href="POST_URL">POST_TITLE</a><img src="READ/UNREAD_ICON"/></li>
。
我想改为<li><img src="READ/UNREAD_ICON"/><a href="POST_URL">POST_TITLE</a></li>
。所以,在链接之前有图像。
我正在尝试使用字符串运算符,但我并不熟悉它们。:(
我也尝试过像
这样的事情$output = '<li><img src="'.$iconstatus.'"/><a href="'.url.'">'. title;
if ($is_read) {
$iconstatus = 'icon-read.png';
} else { $iconstatus = 'icon-unread.png'; }
$output .= '</a></li>';
echo $output;
但似乎没有任何好处。
答案 0 :(得分:0)
您在设置之前尝试使用变量。试试这个:
if ($is_read) {
$iconstatus = 'icon-read.png';
} else { $iconstatus = 'icon-unread.png'; }
$output = '<li><img src="'.$iconstatus.'"/><a href="'.$url.'">'. $title;
$output .= '</a></li>';
echo $output;
当然,您可以简化前三行并使用它:
$iconstatus = $is_read ? 'icon-read.png' : 'icon-unread.png';
$output = '<li><img src="'.$iconstatus.'"/><a href="'.$url.'">'. $title;
$output .= '</a></li>';
echo $output;
我建议您阅读PHP string reference以获取有关如何在PHP中处理字符串的更多详细信息。
答案 1 :(得分:0)
foreach (BLAHBLAH) {
$is_read = !in_array($obj->id, $unread_msgs);
$title = $obj->title;
$url = $obj->url;
$output = "<li><a href=\"$url\">
<span>$title</span>
<img src=\"icon-".($is_read ? '' : 'un')."read.png\" alt=\"img\" />
</a>
</li>";
echo $output;
}
您只需检查是否已将其添加到$output