[英]use variable name in code processing php like $number01 use it value, not name
這樣更好的例子(很難稱呼這個問題)
想象我在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..
}
希望我描述得很好,謝謝您的幫助!
可以使用變量變量來完成,但這很丑陋:
$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;
}
$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);
但是最簡單有效的解決方案是使用arrays和array_sum()函數。
數組總和 -計算數組中值的總和
使用數組
$number[0] = 10;
$number[1] = 20;
$number[2] = 23;
for ($i=1;$i<count($number);$i++) {
echo $number[$i]; //now this works.
}
最好將所有這些值放入數組而不是其他變量。 這使得以后添加變得更容易,並允許您像這樣循環:
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
中的變量的值。
最后的筆記。 小心可變變量,因為它們可能導致混亂或不可讀的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.