$item1
、$item2
またはのいずれかと呼ばれる変数にアクセスしたい$item3
。
毎回で$i
あるforループ内でこの変数にアクセスしたいと思います。++
使用$item.$i
または類似のもの。ただし、そのコードを使用するということは、2つの変数の内容を結合しようとしていることを意味し、$itemという変数はありません。
$item1
、$item2
またはのいずれかと呼ばれる変数にアクセスしたい$item3
。
毎回で$i
あるforループ内でこの変数にアクセスしたいと思います。++
使用$item.$i
または類似のもの。ただし、そのコードを使用するということは、2つの変数の内容を結合しようとしていることを意味し、$itemという変数はありません。
PHP では、他のさまざまな値から動的変数名を作成することはできますが、この場合はおそらくそうすべきではありません。あなたには配列の方が適しているように思えます:
$items = array( 0, 12, 34 );
次に、各値に個別にアクセスできます。
echo $items[0]; // 0
echo $items[1]; // 12
または、セット全体をループします。
foreach ( $items as $number ) {
echo $number; // 1st: 0, 2nd: 12, 3rd: 34
}
OPのコメントで、すでに配列であること$item1
を示しました。以下に示す$item3
ように、必要に応じて、それらをすべて 1 つの配列にマージできます。array_merge()
$item1 = array( 1, 2 );
$item2 = array( 3, 4 );
$item3 = array( 5, 6 );
$newAr = array_merge( $item1, $item2, $item3 );
print_r( $newAr );
どの出力:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
完全を期すために、変数名を動的に構築することで問題を解決する場合は、次のようにすることができます。
$item1 = 12;
$item2 = 23;
$item3 = 42;
for ( $i = 1; $i <= 3; $i++ ) {
echo ${"item".$i} . PHP_EOL;
}
アクセスしたい変数名を別の変数に構築してから、変数変数構文を使用します
<?php
$item1 = 'a';
$item2 = 'b';
$item3 = 'c';
for ($i = 1; $i<=3; $i++) {
$varname = 'item' . $i;
echo $$varname;
}
?>
出力:
abc
これを行う他の方法があることに注意してください。マニュアルを参照してください。
for ($i =1;$i<4;$i++){
$var = 'item'.$i;
echo $$var;
}
ここでは、変数 variableを作成するために double $ を使用しています。
少し遅れており、受け入れられた答えがこれを行う適切な方法ですが、PHP では、OP が説明する方法で変数変数名にアクセスできます。
<?php
$item1 = 'a';
$item2 = 'b';
$item3 = 'c';
for($i=1;$i<=3;$i++)
echo ${"item$i"}; //Outputs: abc
?>
${'item'.$i}
Ifを使用する$i == 1
と、 にアクセスします$item1
。
ただし、この場合は配列を使用することをお勧めします。
個々の変数の代わりに配列を使用できますか? 次に、に基づくインデックス値で配列要素を参照できますi
。
$items = array();
$i = 1;
$items[$i] = "foo";
$i++;
$items[$i] = "bah";
echo $items[1], $items[2]; // gives "foobah"