这可能是一个非常简单的问题,抱歉我缺乏知识,而且我的愚蠢......
将项目添加到数组后,
$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'
}
如何将值更新为“第二个值”?
答案 0 :(得分:2)
您可以直接设置:
foreach ($List as $key => $item)
{
$List[$key]['Text'] = 'Second Value';
}
或通过引用设置:
foreach ($List as &$item)
{
$item['Text'] = 'Second Value';
}
答案 1 :(得分:1)
可能有一种PHP-ish神秘的Perl方式来访问该值,但我发现循环遍历数组并直接设置值更简单。
for($i = 0; $i < count($List); $i++)
{
$List[$i] = 'Second Value';
}
编辑:好奇心让我变得更好。 http://www.php.net/manual/en/control-structures.foreach.php
foreach($List as &$item)
{
$item = 'Second Value';
}
注意&
导致$item
被引用而不是值使用。
答案 2 :(得分:1)
foreach ($List as &$item)
{
$item['Text'] = 'Second Value';
}