我有一个变量,例如$ 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个变量,我只是想知道是否有更短的方式; - )
希望你理解我,我的英语不是很好; - )
答案 0 :(得分:3)
定义并在使用前初始化所有变量 。我认为备选方案1遵循逻辑上的原则。
不要尝试编写简短,快速或棘手的代码。编写易于阅读和维护的代码。
答案 1 :(得分:2)
我肯定会主张在循环之前定义变量。如果在循环之前可以实现相同的功能,则在循环内反复调用isset
(或任何其他函数)是浪费的。
如果您只是想要定义大量变量而不必在循环之前显式声明每个变量,则可以尝试list
docs或以循环方式编程创建变量。
答案 2 :(得分:1)
$sub_total = 0;
while ($sub = mysql_get_row(...)) {
$sub_total += $sub;
}
这样你就不会在每次迭代中再次执行相同的代码(这是良好的实践和良好的性能),并且它还有一个额外的好处,即如果你没有mysql的结果,$ sub_total被默认定义值。