簡體   English   中英

在代碼處理php中使用變量名,例如$ number01使用它的值,而不是名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM