![](/img/trans.png)
[英]how to call appropriate function using function name and parameters as variables ? PHP
[英]PHP Function call with parameters/variables
我在一個Controller類中有兩個函數,我想調用帶有五個變量的getFunction。 這是函數調用
public function editItem()
{
$reqNote = 1;
$reqTore = 2;
$reqTorvorlage = 3;
$reqGelbRot = 1;
$reqRot = 0;
$vPunkte = $this->getPoints($reqNote, $reqTore, $reqTorvorlage, $reqGelbRot, $reqRot);
}
這是應該計算新值返回的函數。
public function getPoints()
{
$vNote = $reqNote;
$vTore = $reqTore;
$vTorvorlage = $reqTorvorlage;
$vRot = $reqRot;
$vGelbRot = $reqGelbRot;
$vPosition = 1;
$vPunkteResult = $vToreP + $vTorvorlageP + $vRotP + $vGelbRotP + $vNoteP;
return $vPunkteResult;
}
我在函數調用中做錯了什么,因為現在找不到$reqNote
?
只需在簽名中添加變量
public function getPoints($reqNote, $reqTore, $reqTorvorlage, $reqGelbRot, $reqRot)
{
$vNote = $reqNote;
$vTore = $reqTore;
$vTorvorlage = $reqTorvorlage;
$vRot = $reqRot;
$vGelbRot = $reqGelbRot;
$vPosition = 1;
$vPunkteResult = $vToreP + $vTorvorlageP + $vRotP + $vGelbRotP + $vNoteP;
return $vPunkteResult;
}
更新功能簽名。 應該知道它期望5個變量。
public function getPoints($reqNote, $reqTore, $reqTorvorlage, $reqGelbRot, $reqRot)
{
$vNote = $reqNote;
$vTore = $reqTore;
$vTorvorlage = $reqTorvorlage;
$vRot = $reqRot;
$vGelbRot = $reqGelbRot;
$vPosition = 1;
$vPunkteResult = $vToreP + $vTorvorlageP + $vRotP + $vGelbRotP + $vNoteP;
return $vPunkteResult;
}
由於您的函數當前似乎是要添加參數(實際上是返回未定義變量的總和,即從未分配$ vToreP,函數參數也未分配),因此可以采取捷徑:
<?php
function sumThings()
{
return array_sum(func_get_args());
}
var_dump(sumThings(1, 2, 3, 4, 5, 6));
輸出:
21
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.