1

いくつかのラジオボタン配列があります。それらは、ユーザーによって動的に生成される、awardLevel0 []、awardLevel1 []、awardLevel2[]などの名前が付けられます。この関数が合計値を取得するために機能するかどうかを知りたいです。

function awardCheck () {
    $exist = true;
    $num = 0;
    $endsum = 0;
    while ($exist)
    {
        $names = "awardLevel" . $num;
        $awardLev = $_POST[$names];
        if (empty($awardLev)) {
            $exist = false;
            return $endsum;
        }
        else 
            $endsum = $endsum + $awardLev;
        $num++;
    }
    return $endsum;
}

上記のコードを実行すると、$ endsum = $ endsum +$awardLevでエラーが発生します。サポートされていないオペランドタイプを使用していると言っています。$ AwardLevを削除すると、そのエラーなしで実行されます。

文字列を含む変数を$_POSTのように渡すことは可能ですか?

$postname = "awardLevel2";
$awardLev = $_POST[$postname];
4

3 に答える 3

3

はい、絶対にそれを行うことができますが、注意してください:

POST値の[]構文を使用すると、文字列ではなく配列が返されます。数字を落とすだけで、これを有利に使用したりarray_sum_POST[awardLevel]値を使用したりすることもできますが、それがうまくいくかどうかはわかりません。

私はあなたの構文エラーを見逃しました(ところで、次回はすぐにエラーを投稿してください)。

は配列であるため、整数ではなく、別の配列でawardLevのみ使用できます。+使用するだけ

$endsum += $awardLev[0]

代わりは。または、次ごとに複数の値を期待している場合awardLev

$endsum += array_sum($awardLev);
于 2012-08-21T22:06:11.370 に答える
1

既知のコンポーネントがたくさんあり、投稿変数の名前で動的変数を作成したい場合に役立つ事実は、次のようなことです。

foreach ($_POST as $key => $value){
    $$key = $value;
}

たとえば、次のようなアイテムがある場合

<textarea name="postText"></textarea>

「postText」という変数があります

于 2012-08-21T22:17:19.357 に答える
0

これを試しましたか..??

$endsum = $endsum.$awardLev;
于 2012-08-22T11:38:52.247 に答える