如此更好的例子(很难给出这个问题的标题)
想象我在php中有变量
$number1 = 10;
$number2 = 30;
$number3 = 23;
..等等..
我只是想算一个算术平均值但不喜欢
($ number1 + $ number2 + $ number3)/ 3因为打字太多(只有3个数字)
但使用类似
的内容 $temp=0;
for ($i=1;$i<50;$i++){
$temp=$temp+$number."$i"; <- this is what I don't know how to define..
}
和类似的,如何回显像
这样的数字的所有值for ($i=1;$i<50;$i++){
echo $number.$i; <- but this is not working..
}
我希望我描述得很好,谢谢你的帮助!
答案 0 :(得分:3)
可以使用变量变量来完成,但它很难看:
$temp=0;
for ($i=1;$i<50;$i++){
$temp=$temp+(${$number.$i});
}
变量变量有一个限制,你不知道这个变量有多高。您还需要检查是否先设置变量。更好的解决方案是将每个变量存储在一个数组中,您可以轻松地迭代:
$arr = array();
$arr[] = 10;
$arr[] = 30;
$arr[] = 23;
$temp = 0;
foreach($arr as $val)
{
$temp += $val;
}
答案 1 :(得分:1)
$number = array(10,20,30);
echo array_sum($number);
另一个解决方案与for循环
相同$number = array(10,20,30);
$count = count($number);
$sum = 0;
for($i = 0; $i < $count ; ++$i) $sum += $number[$i];
或foreach
$number = array(10,20,30);
$count = count($number);
$sum = 0;
foreach($number as $n) $sum += $n;
有很多方法可以将项目添加到数组中,例如
$number = array(10,20,30);
$number = array();
$number[] = 10; $number[] = 20; $number[] = 30;
$number[0]= 10; $number[1] = 20; $number[2] = 30;
$number = array();
array_push($number, 10, 20, 30);
但最简单实用的解决方案是使用数组和array_sum()函数。
数组和 - 计算数组中值的总和
答案 2 :(得分:0)
使用数组
$number[0] = 10;
$number[1] = 20;
$number[2] = 23;
for ($i=1;$i<count($number);$i++) {
echo $number[$i]; //now this works.
}
答案 3 :(得分:0)
将所有这些值放入数组而不是使用不同的变量可能更好。这使得以后更容易添加,并允许您循环:
foreach($myArray as $number){
echo $number;
}
如果您仍然需要/需要使用变量,可以使用变量:
$temp=0;
for ($i=1;$i<50;$i++){
$numberName = "number".$i;
$temp=$temp + $$numberName;//Note the $$ syntax.
}
$$foo
将是名称存储在$foo
中的变量的值。
最后一点。小心变量变量,因为它们可能导致代码混乱或不可读。