在另一个块中的IF语句的前一个块内调用变量

时间:2018-03-19 00:37:46

标签: php if-statement

我有这个场景,我有if语句如下,但是我想在一个IF语句块中调用变量集并在另一个IF语句块中使用它。请查看以下代码中的scenero

  if($month == '01')
{

        $expected_closing_stock_book_balance_dec =  getParameters($outlet_id, $getmonth, $getyear,'expected closing stock book balance');



}
  if($month == '02')
{
       $expected_closing_stock_book_balance_jan  = $expected_closing_stock_book_balance_dec + $total_liter_received ;

}
  if($month == '03')
{
       $expected_closing_stock_book_balance_feb  = $expected_closing_stock_book_balance_jan + $total_liter_received ;

}

1 个答案:

答案 0 :(得分:1)

我不认为这是有效的。

您无法获取上个月的变量,因为if语句符合ISNT。如果月份== 02,则月份不是01.因此它甚至不会调用01 if语句。

您可以在当月运行上个月的命令。例如:

 if($month == '02')
{
$expected_closing_stock_book_balance_dec =  getParameters($outlet_id, $getmonth, $getyear,'expected closing stock book balance');
$expected_closing_stock_book_balance_jan  = $expected_closing_stock_book_balance_dec + $total_liter_received ;
}

并且每增加一个月再重复一次。在每个if语句中获取所需的变量。

但代码将是冗余的。您将不得不多次输入它,这使编辑代码变得痛苦。

我会为每个语句创建一个函数。把它放在文件的顶部。在每个if语句中,调用每个if语句获取结果所需的函数。

修改

很难为某些我不完全理解的东西编写函数。所以我打算尝试这样做;但是,它没有经过测试,因为我不知道你在哪里设置变量,你如何调用它们,或者你的项目是如何设置的。这只是为了举例。

function lastdecember() { $lastdecember = getParameters($outlet_id, $getmonth, $getyear,'expected closing stock book balance'); }
function january() { $january = ...january balance...; }
function february() { $february = ...february balance...; }
function march() { $march = ...march balance...; }
function total_liter_received() { $total_liter_received = ....; }



if($month == '01') {  
$expected_closing_stock_book_balance_dec = lastdecember(); 
}

if($month == '02') {
$expected_closing_stock_book_balance_jan  = lastdember() + total_liter_received()
}

if($month == '03') {
$expected_closing_stock_book_balance_feb  = january() + total_liter_received();
}

您可以根据需要回显或设置变量。但是你需要在函数中设置每个january,feb,march等主要变量,然后每个月调用你需要的任何一个月所需的函数。