-2
$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number;

$number に応じて変数をエコーアウトしたいとしましょう。たとえば、この場合、$number は 2 なので、$var2 をエコーアウトしたいと考えています。switch ステートメント / ifs; を使用せずにこれを行うにはどうすればよいでしょうか。変数に直接名前を付けて結果を表示するだけですか?

4

5 に答える 5

3

可変 可変

echo ${'var'.$number};
于 2012-08-02T02:00:14.107 に答える
1

わからない、中括弧かな?${'var'.$number} 推測です

于 2012-08-02T01:59:41.250 に答える
1

配列を使用することをお勧めします。

$var = array(
   'first variable',
   'second variable',
   'third variable',
);

したがって、次のようになります$var

array (
    [0] => 'first variable',
    [1] => 'second variable',
    [2] => 'third variable',
) 

次に、値を取得します。

$variable_to_get = $var[$number-1];

$number配列はインデックス 0 で開始されるため、-1 である必要があります。

別のアプローチとして、そのインデックスを直接割り当てることができます。

$var[1] = 'first variable'
$var[2] = 'second variable'
$var[3] = 'third variable'

しかし、本当にアクセスしたい場合は、

$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number;

evalを使用してみる

于 2012-08-02T02:05:56.737 に答える
0
$var = array('First Variable','Second Variable','Third Variable');


$variable_to_get = 'var'.$var[0]; // returns First Variable

$variable_to_get = 'var'.$var[1]; // returns Second Variable
于 2012-08-02T01:59:56.177 に答える
0

double $$ を使用して、2 番目の変数の文字列として変数名にアクセスできます。2 番目は変数文字列にアクセスし、最初は文字列として名前が付けられた変数にアクセスします。

$foo = 'bar';
$bar = 'foo';

echo $$foo; // echoes foo

あなたの場合の意味:

$var1 = 'First Variable';
$var2 = 'Second Variable';
$var3 = 'Third Variable';

$number = 2;

$variable_to_get = 'var'.$number; //will contain the string 'var2'

echo $$variable_to_get; //echoes 'Second Variable'
于 2012-08-02T02:04:35.410 に答える