Выполнение функции несколько раз
Вывожу через row записи из бд.
Для каждой записи должна выполниться одна функция, но результаты должны занестись в разные переменные. Смотрим.
$bid = $row["bid"]; // id записи, далее сама функция
function strcode($str, $passw="")
{
$salt = "54321";
$len = strlen($str);
$gamma = '';
$n = $len>100 ? 8 : 2;
while( strlen($gamma)<$len )
{
$gamma .= substr(pack('H*', sha1($passw.$gamma.$salt)), 0, $n);
}
return $str^$gamma;
}
${'prehash_'.$bid} = "$itemid-$id"; //Две динамические переменные
${'hash_'.$bid} = base64_encode(strcode(${'prehash_'.$bid}, '12345'));
echo '<a href="../download/'.${'hash_'.$bid}.'">Скачать</a>'; } ?>
По идее, всё верно, но выводит только одну запись, и на этом конец. Вроде, переменные сделал динамические, повторений нет, но не работает. Может, потому что обращение идёт постоянно к одной функции? Хотя, думаю, не в этом дело. Помогите.
Источник: Stack Overflow на русском