2014-03-01 193 views
0

所以我有一個數字數組:把一個變量內的另一個變量的名稱

$number=range(0,50) 

我有一個foreach循環,看起來像這樣:

foreach($number as $row){ 
    $special($row[0])function=<insert special number function> 
} 

當我試圖想象,我試圖將一個變量(數字)置於另一個變量的名稱中,但不幸的是,它不成功。希望你能幫助我:)

編輯: 我想使50略有不同的變量,唯一的區別是數字。所以我想如下創造的東西:

$special1function 
$special2function 
$special3function 
... 
$special50function 
+0

你的目標是?爲50個數字創建50個函數幾乎肯定不是你想要做的。有更好的方法來完成任務。 –

回答

0

你應該在PHP中使用可變變量:鑑於php.net

例如:

${"special" . $counter."function"} = "your custom value"; 

但是最好使用一個數組neinested:Array

+1

如果有50個自定義(編號)值,由循環產生,創建50個變量是一個壞的解決方案。更好的是使用數組。 –

+0

我同意你 – Alireza41

+1

謝謝你,這工作。我沒有真正處理由循環生成的變量,這只是爲了讓我的問題更簡單。我真的有一個數據庫,包含n行(大約20),每行獲得4個不同的變量,這些變量稍後將被放入一個數組,並從那裏進入一個表。但所有這些細節與我的問題無關,只會讓你更難理解。 儘管如此,非常感謝您的幫助:) – JJJ

0

,如果你寫的IM認識,試試這個:

 $special = array(); 
    foreach($number as $row){ 
     $special[$row['youre row name that you want']] = $number; 
    } 


    print_r($special); 
+0

我想使50個略有不同的變量,唯一的區別是數字。所以我想如下創造的東西: $ special1function $ special2function $ special3function ... $ special50function – JJJ

0

您應該使用數組:

$specialFunctions = array(); 
foreach(range(0,50) as $number){ 
    $specialFunctions[$number] = <insert special number function>; 
} 

然後,進入23日一個這樣的:

$twentyThird = $specialFunctions[23]; 
$twentyThird(); // call the function 

但最有可能的,你需要在它們之間迭代:

foreach($specialFunctions as $specialFunction) { 
    $specialFunction(); // call the function 
} 

按照其他答案的建議創建50個變量不是一個好的解決方案。