2012-02-10 6 views
0

これはknwoledgeの私の欠如、そして私の愚かさについて申し訳ありません非常に簡単な質問、...更新値

できる配列、

$List[1] = array(
    'Id' => 1, 
    'Text'=> 'First Value' 
); 

にアイテムを追加した後、私がする必要があります

foreach ($List as $item) 
{ 
    $item['Text'] = 'Second Value'; 
} 

、内側の配列内の項目の値を変更しかし、私は価値が同じ

ままチェックインしたとき
foreach ($List as $item) 
{ 
    echo $item['Text']; //prints 'First Value' 
} 

「2番目の値」に値を更新するにはどうすればよいですか?

+0

それは全体の配列要素だけでなく、項目を変更します。 –

答えて

2

あなたはそれを直接設定することができ、次のいずれか

foreach ($List as $key => $item) 
{ 
    $List[$key]['Text'] = 'Second Value'; 
} 

または参照して設定を:

foreach ($List as &$item) 
{ 
    $item['Text'] = 'Second Value'; 
} 
1

値にアクセスするにはPHPの神秘的なPerlの方法があるかもしれませんが、配列をループして値を直接設定する方が簡単です。

for($i = 0; $i < count($List); $i++) 
{ 
    $List[$i] = 'Second Value'; 
} 

編集:好奇心が私を良くしました。 $itemが参照により代わりの値によって使用されるようにするhttp://www.php.net/manual/en/control-structures.foreach.php

foreach($List as &$item) 
{ 
    $item = 'Second Value'; 
} 

注意&

1
foreach ($List as &$item) 
{ 
    $item['Text'] = 'Second Value'; 
}