我試圖運行一個名爲變量的函數。沒有語法錯誤。溫度不會返回。我不確定問題出在功能本身還是eval。 eval主題的變化迄今尚未奏效。從一個變量創建一個函數
function getBtemp($lum, $sub){
$tempsB = array(
"V" => array(30000, 25400, ...),
"III" => array(29000, 24000, ...),
"I" => array(26000, 20800, ...));
if($lum == "VI"){ $lum = "V"; }
else if($lum == "IV"){ $lum = "III"; }
else if($lum == "II" || $lum == "Ib" || $lum == "Ia"){ $lum = "V"; }
return $tempsB['$lum']['$sub']; }
// Variables:
$spectralclass = "B";
$luminosityclass = "V";
$subclass = 5;
// Needed:
$temp = getBtemp($luminosityclass, $subclass);
// Functions are named from spectral class, e.g. get.$spectralclass.temp()
// Attempt:
$str = "$temp = get".$spectralclass."temp($luminosityclass, $subclass);";
eval($str);
我一半。但無論如何+1 –