2012-02-18 10 views
1

Я следовал маленькому учебнику и создал чат для веб-сайта. Я добавил некоторые функции, и теперь отдельные чаты могут быть сохранены, но я не уверен, как разместить оператор if внутри цикла foreach. Я хотел бы сделать что-то вроде этого: if($chat_message->smgs_id != NULL) { something here } вместо <a class="save" href="#" id="'.$chat_message->id.'">Save</a>Если в Foreach Loop

$chat_messages_html = '<ul style="margin:10px;">'; 

foreach ($chat_messages->result() as $chat_message) 
{ 
    $chat_messages_html .= '<li>' . $chat_message->smsg_id . '<a class="save" href="#" id="'.$chat_message->id.'">Save</a> | </li>'; 
} 

$chat_messages_html .= '</ul>'; 

ответ

2

Тернар для победы!

$html = '<ul>'; 
foreach ($arr as $val) 
{ 
    $html .= '<li>'. (NULL !== $val ? 'something' : 'something else') .'</li>'; 
} 
$html .= '</ul>'; 
+0

расхохотаться! – Tobias

1

Split присваивание на части, чтобы вы могли поместиться в состоянии.

$chat_messages_html = '<ul style="margin:10px;">'; 

foreach ($chat_messages->result() as $chat_message) 
{ 
    $chat_messages_html .= '<li>'; 
    if ($chat_message->smgs_id != NULL) { 
    $chat_messages_html .= '<a class="save" href="#" id="' . $chat_message->id . '">Save</a> | '; 
    } 
    $chat_messages_html .= '</li>'; 
} 

$chat_messages_html .= '</ul>'; 
0

Попробуйте это:

$chat_messages_html = '<ul style="margin:10px;">'; 

foreach ($chat_messages->result() as $chat_message) 
{ 
    if ($chat_message->smgs_id != NULL) { 
     $chat_messages_html .= '<li>' . $chat_message->smsg_id . '<a class="save" href="#" id="'.$chat_message->id.'">Save</a> | </li>'; 
     } 
} 
$chat_messages_html .= '</ul>';