が、私はそれらの一つは、いくつかの定数変数を持っているいくつかのパラメータを持つ関数を作成したいです。例えば :この例では、$ num個で
<?php
function print($str, $num){...}
.
.
.
print("omid",one);
print("omid",two);
?>
は一定の変数で構成されています:「1、2、3」 今、それを実装する方法? PHPのEnumはありますか?
おかげで、あなたの時間が
が、私はそれらの一つは、いくつかの定数変数を持っているいくつかのパラメータを持つ関数を作成したいです。例えば :この例では、$ num個で
<?php
function print($str, $num){...}
.
.
.
print("omid",one);
print("omid",two);
?>
は一定の変数で構成されています:「1、2、3」 今、それを実装する方法? PHPのEnumはありますか?
おかげで、あなたの時間が
PHPには列挙型はありません。 定数をあらかじめ定義しておきます。 グローバル定数として定義したくない場合(そしてこの場合はそうではないはずです)、クラス内で定義することができます。これは、あなたが何をしたいのか
class myclass {
const ONE = 1;
const TWO = 2;
const THREE = 3;
public function testit() {
echo("omid". self::ONE);
echo ("omid". self::TWO);
}
}
定数使用しようとしているが定義されていなかった場合は、エラー
あなたはdefine()
をお探しですか?
define('one',1);
This answerも列挙型のために良いPHPソリューションを持っています
class DaysOfWeek
{
const Sunday = 0;
const Monday = 1;
// etc.
}
var $today = DaysOfWeek::Sunday;
を取得しますか?あなたが唯一の機能のためにこれを必要とする場合
$nums = array(1 => 'one', 2 => 'two', 'three');
echo $nums[1]; // one
echo $nums[3]; // three
何の列挙型は、あなたが何ができるか、ありませんが、このです:
function foobar($str, $num){
// allowed values (whitelist)
static $num_allowed = array('one', 'two', 'three');
if(!in_array($num, $num_allowed)){
// error
}
// ...
}
私はあなたが列挙型を欠けていると仮定しています:
は、いくつかのコードを試してみてくださいこのように
class DAYS
{
private $value;
private function __construct($value)
{
$this->value = $value;
}
private function __clone()
{
//Empty
}
public static function MON() { return new DAYS(1); }
public static function TUE() { return new DAYS(2); }
public static function WED() { return new DAYS(3); }
public function AsInt() { return $this->value; }
}
このコードを生成するために使用できるWebページがあります:http://well-spun.co.ukcode_templates/enums.php