#php #vbulletin
#php #vbulletin
Вопрос:
Я использую vbulletin, потому что я должен. Я использую хак, который возвращает идентификатор пользователя, если человек благодарит другого за публикацию. Проблема в том, что когда несколько пользователей «благодарят» автора, идентификатор пользователя не разделяется запятой. Я выделил код, который создает список, и мне нужна помощь в добавлении нового оператора if, который добавлял бы «,» между идентификаторами пользователя.
Вот код, который создает список:
if ($this->post['post_thanks_amount'] > 0 amp;amp; $this->thread['isdeleted'] == 0)
{
$this->post['post_thanks_bit'] = fetch_thanks_bit($this->thread['forumid'], $thanks);
$this->post['post_thanks_user'] = $post_thanks_user;
$this->post['post_thanks_amount_formatted'] =
vb_number_format($this->post['post_thanks_amount']);
$post_thanks_box = fetch_post_thanks_template($this->post);
}
Я знаю, что второй if должен заменить «> 0» на «> 1», но я не знаю, как «объединить» их с помощью «, «
Спасибо
РЕДАКТИРОВАТЬ ВЫХОДНОЙ КОД
<tr valign="top">
<td style="background:#E8E8E8;" colspan="2" class="alt1">
<div>
<a rel="nofollow" href="member.php?u=20420">ninja1</a>
<a rel="nofollow" href="member.php?u=26154">testuser</a>
</div>
</td>
Комментарии:
1. Как правило, для соединения многих строк с помощью символа «glue» вы делаете
implode($glue, $arrayOfStrings)
. Если строки еще не находятся в массиве, вы можете исправить это на месте:implode($glue, array($str1, $str2, $str3))
и т.д.2. @Джон, прости мое невежество. Как бы мне включить это в приведенный выше код?
3. какая переменная содержит имена благодарящих?
4. можем ли мы найти выходной код, в котором напечатаны фактические имена? я думаю, что форматирование лучше всего добавить туда. или везде, где это повторяется по именам
5. Не особенно, поскольку здесь уже довольно поздно. Однако, если вы где-то обнаружите, что у вас есть доступ к массиву имен всех благодарителей, вы можете сделать что-то вроде:
implode(', ', $names)
илиimplode(' and ', array(implode(', ', array_slice($names,0,-1)), array_slice($names,-1))
сгенерировать строку.