在减法之前检查变量是否存在的最佳方法是什么?

时间:2012-01-13 19:06:03

标签: php subtraction

我有一个变量,例如$ total1。它具有数据库中的值,例如6。

现在我做一个SQL查询,它从表中获取一些数字。例如: $ subtraction1 = 5,但它在while循环中,所以第二次它可能是$ subtraction1 = 10或类似的东西。每次在while循环中$ subtraction_total变量都是$ subtraction_total1 + $ subtraction1,因为在页面底部我想显示$ total减去$ subtraction_total1。

但是第一次在while循环中我必须检查$ subtraction_total是否已经存在。我知道这样做的选择,但有更短的方法吗?

选项1是在while循环之前定义变量$ subtraction_total1。

选项2是这样做的:

(!isset($total_subtraction1)){$total_subtraction1=0;}$total_subtraction1=$total1-$subtraction1;

现在你想:嗯,只做选项1:定义1个变量,但它是大约15个变量,我只是想知道是否有更短的方式; - )

希望你理解我,我的英语不是很好; - )

3 个答案:

答案 0 :(得分:3)

定义并在使用前初始化所有变量 。我认为备选方案1遵循逻辑上的原则。

不要尝试编写简短,快速或棘手的代码。编写易于阅读和维护的代码。

答案 1 :(得分:2)

我肯定会主张在循环之前定义变量。如果在循环之前可以实现相同的功能,则在循环内反复调用isset(或任何其他函数)是浪费的。

如果您只是想要定义大量变量而不必在循环之前显式声明每个变量,则可以尝试listdocs或以循环方式编程创建变量。

答案 2 :(得分:1)

$sub_total = 0;
while ($sub = mysql_get_row(...)) {
  $sub_total += $sub;
}

这样你就不会在每次迭代中再次执行相同的代码(这是良好的实践和良好的性能),并且它还有一个额外的好处,即如果你没有mysql的结果,$ sub_total被默认定义值。