0

どの定数が引数として渡されたかを調べることはできますか?

<?php
define( 'POINTS_REQUEST_ADD',                '3' );
define( 'POINTS_REQUEST_DONE',               '5' );
define( 'POINTS_REQUEST_REACTIVATE',         '1' );
define( 'POINTS_REQUEST_UPLOAD',             '3' );

public static function addPoints( $points )
{
      switch($points) {
        case POINTS_REQUEST_ADD:
            ;// code
        case POINTS_REQUEST_DONE:
            ;// code
        // ....
        }
    }        
}

addPoints(POINTS_REQUEST_ADD);

この場合$points、値 (1、3、または 5) のみが含まれており、そこから正しい定数名を取得する方法は考えられません。値が である場合、または3である可能性があります。POINTS_REQUEST_ADDPOINTS_REQUEST_UPLOAD

4

1 に答える 1

-1

これらの定数は値によって渡されるため、提案したとおりに正確に設定することはできません。

したがって、代わりに、参照によって渡すことができ、受け取りたいプロパティ (数値など) を含む Enum (列挙型) 型を作成します。

残念ながら、PHP にはネイティブの列挙型はありませんが、PHP 列挙型を簡単に Web 検索できます。これにより、人々が列挙型機能を構築したさまざまな方法が示されます。

幸運を祈ります。

于 2013-10-12T17:33:13.300 に答える