簡體   English   中英

帶參數/變量的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.

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