PHP:反转字符串中对象的顺序

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,它输出一个到一篇文章的链接,它的名字和一个图标,如果那篇文章是读/未读的

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。