2012-04-12 10 views
3

名前を変更したい配列があるので、forループの数に応じて値が格納されます。私はこのようなものを試しましたが、それは私にエラーを与えました。ループ全体でPHP変数名を変更する

for ($i =0;$i<4;$i++){ 

$array.$i = array(); 

push stuff into array; 




} 

したがって、次の反復では、配列は配列1、配列2などと呼ばれます。これを行う最善の方法は何ですか。

+0

の配列を必要とする、あなたは、4つの異なる配列を作成したいと言っています、 $ array1から$ array4までの名前で? – octern

+3

は多次元配列を使用します。 $ array [$ i] ... –

+0

が正しい。私は、異なるチームと異なるリーグを持っています。ですから、私は各リーグの各チームのための配列を作りたいと思っています。 – user541597

答えて

0

variable variablesを使用します。ダブルドル記号は、変数の名前が変数から取得されたことを示します。

$varname = "array"; 
for ($i =0;$i<4;$i++){ 
    $newvarname = $varname . $i 
    $$newvarname = new array() 
    push stuff into array; 
} 

このような場合、単純な解決策は、多くの場合、目的の変数名がインデックスである配列を使用することです。だからではなく$array1$array2、などを作成するのではなく、あなたは持っていると思います:

$arrays = array (
    'array1' => array(stuff), 
    'array2' => array(stuff), 
    'array3' => array(stuff), 
    'array4' => array(stuff) 
} 

は、少なくとも、私はそれが簡単に追跡するために見つけます。

$arrayName = 'array' . $i; 
$$arrayName = array(); 
$$arrayName[] = ... 

本当にがしたいことはいえ多次元配列である:

$array[$i] = array(); 
$array[$i][] = ...; 
0

あなたがのために$$表記を使用して配列を参照することができるはず文字通りあなたの質問に答えるために

0

あなたは明確にするために、アレイ

for ($i =0;$i<4;$i++){ 

    $array[$i] = array(); 

    push stuff into array; 
} 
関連する問題