Скажите этот кусок кода:
<?php while($user=mysqli_fetch_array($resultuser)){ ?>
<?php
function my_function($variable) {
//do something here...
}
?>
<?php };?>
Это, очевидно, вернет эту ошибку
Невозможно повторно объявить ранее объявленную функцию my_function ()
Так что, если кому-то нужно использовать одну и ту же функцию несколько раз на одной странице? Есть ли способ генерировать случайные имена функций ()? Есть идеи как обойти это? Благодарю.
РЕДАКТИРОВАТЬ С АКТУАЛЬНЫМ КОДОМ
<?php while($deposit26=mysqli_fetch_array($resultdeposit26)){ ?>
<td data-th="Hours">
<?php
$week1hours = $deposit26['hours_worked'];
$week2hours = $deposit26['hours_worked_wk2'];
function time_to_decimal($time) {
$timeArr = explode(':', $time);
$decTime = ($timeArr[0] + ($timeArr[1]/60) + ($timeArr[2]/3600));
return $decTime;
}
$groupd26hours = time_to_decimal($week1hours) + time_to_decimal($week2hours);
echo round($groupd26hours, 2);
?>
</td>
<?php };?>
<?php
// Earlier in the file or included with include or require
function time_to_decimal($time) {
$timeArr = explode(':', $time);
$decTime = ($timeArr[0] + ($timeArr[1]/60) + ($timeArr[2]/3600));
return $decTime;
} ?>
…
<?php while($deposit26=mysqli_fetch_array($resultdeposit26)) : ?>
<td data-th="Hours">
<?php
$week1hours = $deposit26['hours_worked'];
$week2hours = $deposit26['hours_worked_wk2'];
$groupd26hours = time_to_decimal($week1hours) + time_to_decimal($week2hours);
echo round($groupd26hours, 2); ?>
</td>
<?php endwhile ?>
ты хочешь объявить функцию вне цикла и назови это внутри
<?php
function my_function($variable) {
//do something here...
}
while($user=mysqli_fetch_array($resultuser)){
my_function($variable);
}?>
Позвольте мне попытаться объяснить, что, я думаю, могло бы помочь. Я думаю, что хорошей отправной точкой было бы изучение включения сценария или включения сценария в ваши файлы, которые требуют логики вашей функции. Таким образом, несколько файлов могут использовать одну и ту же логику без необходимости повторения. Например:
<?php
// File functions.php
function my_function($variable) {
...
}
?>
<?php
// File one
include_once "functions.php"
...
// Use my_function() from file one
my_function($var);
?>
<?php
// File two
include_once "functions.php"
...
// Use my_function() from file two
my_function($var);
?>