$test = array (
"test1" => array("a" => "1", "b" => "2", "c" => "3")
);
上記のような配列があります。その値をループでプッシュしたい。どうすれば可能ですか?教えてください。
foreachを使用するだけです!
foreach($test['test1'] as $key => $value){
echo "$key = $value";
}
新しい値をプッシュする必要がある場合は、次のようにできます。
$test['test1']['newkey1'] = 'newvalue1';
$test['test1']['newkey2'] = 'newvalue2';
$test['test1']['d'] = '4';
また
$test['test2'] = array(...);
foreach を使用できます。
foreach ($test as $key => $value) // Loop 1 times
{
// $key equals to "test1"
// $value equals to the corespondig inner array
foreach ($value as $subkey => $subvalue) // Loop 3 times
{
// first time $subkey equals to "a"
// first time $subvalue equals to "1"
// .. and so on
}
}
例として最初の部分配列が 1 つだけであることを期待している場合は、最初のループをスキップできます。
foreach ($test["test1"] as $subkey => $subvalue) // Loop 3 times
{
// first time $subkey equals to "a"
// first time $subvalue equals to "1"
// .. and so on
}
編集: 内部にデータをプッシュする場合は、ローカル変数を $key および $value として使用できません。$key を使用して、元の配列変数を参照できます。例えば:
foreach ($test["test1"] as $subkey => $subvalue) // Loop 3 times
{
// changing current value
$test["test1"][$subkey] = "new value";
// pushing new member
$test["test1"][] = "some value"
}