Я бы использовал array_rand с чем-то вроде:
<?php
$links = array(array('url' => 'http://google.com', 'name'=>'google'),
array('url' => 'http://hotmail.com', 'name' => 'hotmail'),
array('url' => 'http://hawkee.com', 'name' => 'Hawkee'));
$num = array_rand($links);
$item = $links[$num];
printf('<a href="%s" title="%s">%s</a>', $item['url'], $item['name'], $item['name']);
?>
Где ссылки облегчают построение массива.Тем не менее, я думаю, что мы упускаем некоторые подробности о том, как вы захватываете свои ссылки.Что означает «текущая страница»?потому что самый простой способ сделать это - просто не добавлять страницу в массив.
А использование array_rand позволяет избежать путаницы с размером массива и т. д.
Редактировать: Я полагаю, вы используетебазы данных, поэтому у вас может быть запрос sql:
SELECT myfieldset FROM `articles` WHERE id = 'theid';
Итак, вы знаете идентификатор текущей статьи.Теперь вам просто нужно создать массив с некоторыми другими статьями с запросом, подобным следующему:
SELECT id FROM `articles` WHERE id NOT IN ('theid') ORDER BY RAND LIMIT 5
И построить массив-кандидат с этими результатами.