我有这个场景,我有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 ;
}
答案 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等主要变量,然后每个月调用你需要的任何一个月所需的函数。