1

投稿へのリンク、その名前、およびその投稿が既読/未読の場合のアイコンを出力するこの 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;

しかし、何の役にも立たないようです。

4

2 に答える 2

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;

もちろん、最初の 3 行を単純化して、次のように使用することもできます。

$iconstatus = $is_read ? 'icon-read.png' : 'icon-unread.png';
$output = '<li><img src="'.$iconstatus.'"/><a href="'.$url.'">'. $title;
$output .= '</a></li>';
echo $output;

PHP で文字列を処理する方法の詳細については、PHP 文字列リファレンスを読むことをお勧めします。

于 2013-06-07T12:53:10.857 に答える
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

于 2013-06-07T12:53:45.283 に答える