PHP:反转字符串中对象的顺序
我有一个foreach,它输出一个到一篇文章的链接,它的名字和一个图标,如果那篇文章是读/未读的PHP:反转字符串中对象的顺序,php,string,foreach,operators,Php,String,Foreach,Operators,我有一个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
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;
}
所以输出格式是。
我想换一个。因此,在链接之前有图像。
我正在尝试使用字符串运算符,但我对它们不太熟悉..:
我也试着做一些类似的事情
$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;
但似乎没有任何好处。您试图在设置变量之前使用它。试试这个:
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中处理字符串的详细信息
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添加正确的代码您的第二次尝试毫无意义—您想在分配$output之前向$output添加$iconstantus。