Как я могу использовать функцию несколько раз на одной странице?

Скажите этот кусок кода:

 <?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 };?>

0

Решение

<?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 ?>
1

Другие решения

ты хочешь объявить функцию вне цикла и назови это внутри

<?php
function my_function($variable) {
//do something here...
}

while($user=mysqli_fetch_array($resultuser)){
my_function($variable);
}?>
1

Позвольте мне попытаться объяснить, что, я думаю, могло бы помочь. Я думаю, что хорошей отправной точкой было бы изучение включения сценария или включения сценария в ваши файлы, которые требуют логики вашей функции. Таким образом, несколько файлов могут использовать одну и ту же логику без необходимости повторения. Например:

<?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);
?>
1
По вопросам рекламы [email protected]