3

define("EMPLOYEE_NAME_ID","employee"); のような定数があります。変数 $code = EMPLOYEE;

今、私は以下のように印刷したい

<?php echo $code.NAME_ID; ?>

しかし、これは「EMPLOYEE_NAME_ID」のみを印刷し、「従業員」を印刷したい。次に、これを印刷する方法。全体的な手段は、langファイルから変数を再取得したいということです。

4

5 に答える 5

5

PHP の引用符で囲まれていない文字列は定数として解析され
、定数が未定義の場合は
(変数ではなく) 文字列として扱われます。

定数を扱う場合は、定数関数を利用できます:-

echo constant("{$code}_NAME_ID");

ただし、定数が定義されていない場合、この関数を使用すると警告メッセージが返されます。parse_ini_file
のような他のオプションがあります。 これは、大量の設定/構成を処理するのに理想的です。

于 2011-11-28T08:18:27.493 に答える
2

より良い方法は、定数関数を使用することです

echo constant($code."NAME_ID");
于 2011-11-28T08:18:35.090 に答える
0
   define('VAR1', 'my var' );

   $var2 = 'hello';

   echo $var2.''.VAR1;  // period, two apostrophes, period

   // same as if you were doing:

   echo "some string ".$var2." some more string".VAR1;
于 2011-11-28T08:16:06.477 に答える
0

2 つのうちの 1 つは定数であり、変数ではありません。それらを可変変数のように使用しようとしていました(多くの場合、そのarrayような状況では が好まれます)。

constant()ただし、ルックアップ関数を使用して、定数で同じ効果を得ることができます。

 <?php echo constant("{$code}_NAME_ID"); ?>

_これが機能するには、定数サフィックスも$code含まれていない追加のアンダースコアも必要であることに注意してください。

于 2011-11-28T08:18:59.610 に答える
0

define("EMPLOYEE_NAME_ID","employee")は定数なので、変数と組み合わせる場合、構文は次のようになります。

$temp = "John";

$var = EMPLOYEE_NAME_ID." : ".$temp;

echo $var; {Output : employee : john}
于 2011-11-28T08:20:16.860 に答える