2012-05-01 8 views
0

は、PHPのdefine()の値を構築することができる複数の部品で構築その値パラメータ...このようPHPの定義() -

  1. define(MY_NEW_CONSTANT, "He", "llo - ", "World");

  2. :このようdefine(MY_NEW_CONSTANT, "He" + "llo - " + "World");

  3. このように:define(MY_NEW_CONSTANT, "He" + "llo - " + $One_Of_My_Variables);

  4. このように:define(MY_NEW_CONSTANT, "He", "llo - ", $One_Of_My_Variables);

どのようにしてPHPのdefine()内の値のパラメータを構築しない - それは可能ですか?あなたは連結演算子で連結

+1

'.'は' + 'ではなくPHPの連結演算子です。 – Nadh

+0

この投稿を書くのにかかった時間は、たぶんgoogleで検索するのにかかる時間よりも長いでしょう。 – Sietse

+0

実際、問題はGoogle経由で実際に最初に検索されました。いくつかのPHPサイトがチェックされましたが、どれもvalueパラメータの構築を示していませんでした。すでに推測しているように、私はPHPプログラマではありません。 – user1367880

答えて

1

.

define('MY_NEW_CONSTANT', "He" . "llo - " . "World"); 

defineは、他のどのようなだけの機能です。それはあなたがそれを渡すことができる表現の面で特別なルールを持っていません。

+0

礼儀正しく返信しています - ありがとうございます。値に "("と ")"文字が必要な場合はどうなりますか?たとえば、valueパラメータには(Something Like This)を含める必要があります。 – user1367880

+0

@ user1367880:値には全く違いはありません。文字列には何も含めることができます。 – Ryan

0

はい、これは可能ですが、悪い考えです。定数のポイントは、それは...ええと...一定であるということです。あなたはいつも同じ価値を知っています。

このような動的な値を持つ定数を定義すると、基本的にもう1つのグローバル変数になります。それはプログラムの後半では変更できない変数だが、グローバル変数を使用している可能性があるという事実は変わらない。

PHPはconstもサポートしています。これはdefine()の新しい置き換えと考えることができます。 constは上記の理由で定数の動的構築を許可していません。

まだ実際に実行したい場合は、他の関数呼び出しに文字列を渡すのと同じように、文字列をdefine()関数内で連結してください。すなわち:

define('MYCONST', $var1 . $var2); 

しかし、代わりに変数を使用することをおすすめします。

+0

それは良い点です - ありがとうございます。 – user1367880

関連する問題