6

PHP の内部関数は、事前定義された値または制限された値に文字列を使用せず、定数のみを使用することに気付きました。

:

pad_type :

オプションの引数 pad_type には、STR_PAD_RIGHT、STR_PAD_LEFT、または STR_PAD_BOTH を指定できます。pad_type が指定されていない場合、STR_PAD_RIGHT と見なされます。

ここで文字列をパラメーターとして使用しない理由は何ですか?

str_pad($test, 10, 0, 'left')よりもはるかに単純に思えますstr_pad( $test, 10, 0, STR_PAD_LEFT)

(これはよりメタな質問です。ここで質問しても問題ないことを願っています。)

4

3 に答える 3

5

文字列を入力するときに間違いを犯しやすくなります。未定義の定数を使用すると、警告がスローされます。PHPだけではありません。通常のAPI関数(つまりOS)は通常、このようなパラメーターにも数値定数を使用します。

于 2012-12-19T18:01:11.367 に答える
1

彼らはint.. を使用し、 Case Sensitivity 、 Spelling Mistakes 、 Parsing strings 、 Better for IDE 、 Error などのために、より効率的です。

定数が気に入らない場合は、単に int 値を使用できます

  str_pad($test, 10, 0, 0) == str_pad( $test, 10, 0, STR_PAD_LEFT)
于 2012-12-19T18:01:33.160 に答える
1

$pad_typeパラメータの の型が実際には であることに注意してくださいint。int を渡すことは、文字列を渡す (そして比較する) よりもはるかに高速です。したがって、関数に数値を渡して何をすべきかを伝える代わりに、対応する定数を渡すことで、コードがより明確になります。また、PHP 開発者が int の代わりに文字列を渡すように変更したい場合、定数を使用している限り、コードを壊すことなく変更できます。

于 2012-12-19T18:03:32.867 に答える