Гриша К.
Новичок
Упрощение условий IF, на приведенном примере...
Есть три переменных $redox, $emt, $sealy.
Когда вызывается одна из трех переменных методом get, то $total_price (суммы) будет равнятся, соответственно, одно из этих переменных (ее сумме).
Если get запрос = cart.php?redox=...,
то $total_price = $redox
Если get запрос = cart.php?emt=...,
то $total_price = $emt
Если get запрос = cart.php?sealy=...,
то $total_price = $sealy
А вот когда вызываются две переменных или все переменные, то $total_price (суммы) будет равнятся сумме тех переменных которые вызваны get запросом,
в результает мне необходимо описывать каждое такое условие при помощи if (условий получается 4), а если будет не 3 переменных а нпример 4,
то все возможные условия которые мне надо будет описать, возрастут в геометрическрй прогрессии.
Если get запрос = cart.php?redox=... и cart.php?emt=...,
то $total_price = $redox + $emt
Если get запрос = cart.php?redox=... и cart.php?sealy=...,
то $total_price = $redox + $sealy
Если get запрос = cart.php?emt=... и cart.php?sealy=...
то $total_price = $emt + $sealy
Если get запрос = cart.php?redox=..., cart.php?emt=... и cart.php?sealy=...,
то $total_price = $redox + $emt + $sealy
Подскажите пожалуйста, как можно упростить эти условия, чтобы при возникновении новых переменных,
описание всех условий не было столь громоздким (если таких услвоий будет 10, то описывать мне предется более 70 условий)
Вот пример кода php?, как я описываю эти условия:
Есть три переменных $redox, $emt, $sealy.
Когда вызывается одна из трех переменных методом get, то $total_price (суммы) будет равнятся, соответственно, одно из этих переменных (ее сумме).
Если get запрос = cart.php?redox=...,
то $total_price = $redox
Если get запрос = cart.php?emt=...,
то $total_price = $emt
Если get запрос = cart.php?sealy=...,
то $total_price = $sealy
А вот когда вызываются две переменных или все переменные, то $total_price (суммы) будет равнятся сумме тех переменных которые вызваны get запросом,
в результает мне необходимо описывать каждое такое условие при помощи if (условий получается 4), а если будет не 3 переменных а нпример 4,
то все возможные условия которые мне надо будет описать, возрастут в геометрическрй прогрессии.
Если get запрос = cart.php?redox=... и cart.php?emt=...,
то $total_price = $redox + $emt
Если get запрос = cart.php?redox=... и cart.php?sealy=...,
то $total_price = $redox + $sealy
Если get запрос = cart.php?emt=... и cart.php?sealy=...
то $total_price = $emt + $sealy
Если get запрос = cart.php?redox=..., cart.php?emt=... и cart.php?sealy=...,
то $total_price = $redox + $emt + $sealy
Подскажите пожалуйста, как можно упростить эти условия, чтобы при возникновении новых переменных,
описание всех условий не было столь громоздким (если таких услвоий будет 10, то описывать мне предется более 70 условий)
Вот пример кода php?, как я описываю эти условия:
PHP:
Если get запрос = cart.php?redox=...,
то $total_price = $redox
if($redox)
{
if(!isset($HTTP_SESSION_VARS['cart_redox']))
{
$HTTP_SESSION_VARS['cart_redox'] = array();
$HTTP_SESSION_VARS['items'] = 0;
$HTTP_SESSION_VARS['total_price'] ='0.00';
}
$HTTP_SESSION_VARS['total_price'] = calculate_price_redox($HTTP_SESSION_VARS['cart_redox']);
$HTTP_SESSION_VARS['items'] = calculate_items_redox($HTTP_SESSION_VARS['cart_redox']);
}
Если get запрос = cart.php?emt=...,
то $total_price = $emt
if()
{
if(!isset($HTTP_SESSION_VARS['cart_emt']))
{
$HTTP_SESSION_VARS['cart_emt'] = array();
$HTTP_SESSION_VARS['items'] = 0;
$HTTP_SESSION_VARS['total_price'] ='0.00';
}
$HTTP_SESSION_VARS['total_price'] = calculate_price_emt($HTTP_SESSION_VARS['cart_emt']);
$HTTP_SESSION_VARS['items'] = calculate_items_emt($HTTP_SESSION_VARS['cart_emt']);
}
Если get запрос = cart.php?sealy=...,
то $total_price = $sealy
if($sealy)
{
if(!isset($HTTP_SESSION_VARS['cart_sealy']))
{
$HTTP_SESSION_VARS['cart_sealy'] = array();
$HTTP_SESSION_VARS['items'] = 0;
$HTTP_SESSION_VARS['total_price'] ='0.00';
}
$HTTP_SESSION_VARS['total_price'] = calculate_price_sealy($HTTP_SESSION_VARS['cart_sealy']);
$HTTP_SESSION_VARS['items'] = calculate_items_sealy($HTTP_SESSION_VARS['cart_sealy']);
}
Если get запрос = cart.php?redox=... и cart.php?emt=...,
то $total_price = $redox + $emt
if(isset($HTTP_SESSION_VARS['cart_redox']) && isset($HTTP_SESSION_VARS['cart_emt']))
{
$HTTP_SESSION_VARS['total_price'] = calculate_price_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_price_emt($HTTP_SESSION_VARS['cart_emt']);
$HTTP_SESSION_VARS['items'] = calculate_items_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_items_emt($HTTP_SESSION_VARS['cart_emt']);
}
Если get запрос = cart.php?redox=... и cart.php?sealy=...,
то $total_price = $redox + $sealy
if(isset($HTTP_SESSION_VARS['cart_redox']) && isset($HTTP_SESSION_VARS['cart_sealy']))
{
$HTTP_SESSION_VARS['total_price'] = calculate_price_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_price_sealy($HTTP_SESSION_VARS['cart_sealy']);
$HTTP_SESSION_VARS['items'] = calculate_items_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_items_sealy($HTTP_SESSION_VARS['cart_sealy']);
}
Если get запрос = cart.php?emt=... и cart.php?sealy=...
то $total_price = $emt + $sealy
if(isset($HTTP_SESSION_VARS['cart_emt']) && isset($HTTP_SESSION_VARS['cart_sealy']))
{
$HTTP_SESSION_VARS['total_price'] = calculate_price_emt($HTTP_SESSION_VARS['cart_emt']) + calculate_price_sealy($HTTP_SESSION_VARS['cart_sealy']);
$HTTP_SESSION_VARS['items'] = calculate_items_emt($HTTP_SESSION_VARS['cart_emt']) + calculate_items_sealy($HTTP_SESSION_VARS['cart_sealy']);
}
Если get запрос = cart.php?redox=..., cart.php?emt=... и cart.php?sealy=...,
то $total_price = $redox + $emt + $sealy
if(isset($HTTP_SESSION_VARS['cart_redox']) && isset($HTTP_SESSION_VARS['cart_emt']) && isset($HTTP_SESSION_VARS['cart_sealy']) )
{
$HTTP_SESSION_VARS['total_price'] = calculate_price_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_price_emt($HTTP_SESSION_VARS['cart_emt']) + calculate_price_sealy($HTTP_SESSION_VARS['cart_sealy']);
$HTTP_SESSION_VARS['items'] = calculate_items_redox($HTTP_SESSION_VARS['cart_redox']) + calculate_items_emt($HTTP_SESSION_VARS['cart_emt']) + calculate_items_sealy($HTTP_SESSION_VARS['cart_sealy']);
}