2016-11-16 50 views
0

我想要做的是採用變量名稱$ingreso,並在最後增加它以發送很多變量,但名稱相同但末尾有不同的編號,$ingreso1,等等,但我不知道如何正確地連接它。 請幫助。在變量的名稱上加上一個計數器

PHP代碼:

while ($cont<= 15){   
     $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto) 
       VALUES ('$ingreso".$cont."','$cont','$proyecto_id');"; 
     $insert = mysqli_query($con, $sql); 
    } 

但它一直返回$ingreso結尾沒有數。

我認爲它的情況是,$cont是在$ingreso內容的末尾添加,不變量本身

感謝所有幫助

+2

看起來你正確相連來,但不能增加它。 – AbraCadaver

+0

任何時候你發現自己在做這個,你應該真的在使用數組。 – Barmar

回答

1

您應該能夠使用做到這一點complex string syntax{})。

while ($cont<= 15){   
    $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto) 
      VALUES ('${'ingreso'.$cont}','$cont','$proyecto_id');"; 
    $insert = mysqli_query($con, $sql); 
} 

這樣,${'ingreso'.$cont}將字符串$ingreso1$ingreso2內被解析等

(同時,隨着AbraCadaver評論,你還需要增加$cont這個工作。)


如果您可以在代碼的早期進行更改,以便它們是數組鍵,而不是單獨的變量,這將更容易。舉例來說,如果你有一個像數組:

$ingreso[1] = 'something'; 
$ingreso[2] = 'something else'; 
$ingreso[3] = 'etc.'; 

那麼你可以使用一個foreach循環,而不是:

foreach ($ingreso as $periodo => $vlr) { 
    $sql = "INSERT INTO ingreso (vlr_ingreso, periodo_ingreso, proyecto_id_proyecto) 
      VALUES ('$vlr','$periodo','$proyecto_id');"; 
}