PHP: конвертировать пользовательский ввод за минуты в полезное значение для расчета - PullRequest
1 голос
/ 22 октября 2009

Общая цель: пользователь вводит некоторое число в минутах, а я меняю эти цифры с минут в какую-то удобную форму в расчете.

Как мне преобразовать пользовательский ввод в виде минут в какое-то число или значение, которые я могу использовать позже в этом php-скрипте?

<?php
$minutes = $_REQUEST["minutes"];
// We initialize the total to $1.99 for the connection fee: 
$total  = 1.99;
// For each additional minute we add $0.45?
// For example if  3 minutes are used the cost = $2, 
$addmin = 0.45;
/* How do I convert the user inputted minutes to some value
 I can manipulate with php so that I can just add via php and give the user 
 a cost, for example,  3minutes entered into a form might be = cost of $2.
 What do I need to read or study?*/
//We use a if statement here:
if (filter_has_var(INPUT_POST, "minutes"))
{
// If the user selects the number of minutes, we echo out the number of minutes.
print $minutes;
print "mins.";
// Condition pending  here: 
$total += filter_input(INPUT_POST, "$addmin");
}
print "<p>The total cost is: \$$total</p> \n";
?>

Ответы [ 2 ]

2 голосов
/ 22 октября 2009

Минуты - это уже используемая форма для расчета. Если вы используете переменную $ minutes в расчете, она должна автоматически приводиться к числу.

// $minutes = 3, $addmin = 0.45, 3 * 0.45 = 1.35
$subtotal = $minutes * $addmin;
$total   += $subtotal;

Если вы хотите, чтобы первые 3 минуты составляли 2 доллара, а затем каждая дополнительная минута составляла 0,45 доллара, вы бы сделали что-то вроде следующего:

$subtotal = 0;
// If less than 3 minutes were input, use 3 minutes anyway.
$minutes  = $minutes < 3 ? 3 : $minutes;  
if ($minutes >= 3)  // If minutes
{
    $minutes -= 3;
    $subtotal = 2;
}

// multiple the remaining minutes by the additional cost
$subtotal += $minutes * $addmin;
$total    += $subtotal;
0 голосов
/ 22 октября 2009

почему бы вам просто не преобразовать все в секундах и использовать количество секунд и стоимость в секундах для каких-либо вычислений? Когда вы закончите, вы можете снова конвертировать из секунд в минуты и отображать результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...