在PHP中更改多维数组的特定键

在PHP中更改多维数组的特定键,php,arrays,foreach,Php,Arrays,Foreach,我有一个叫做$array的二维数组。在这里的另一个问题之后,我知道如何将整个子数组从二维数组更改为如下所示: 代码 如何仅更改$array[0][3]、$array[0][4]和$array[1] $array使用$stamm+动词的结尾表示一段时间,例如“on”。 在某些情况下,我必须更改动词的词根($stamm)。 使用上面的代码,它可以完美地更改整个数组[0]和数组[1] 你为什么不干脆这样做呢 $array[0][3] = //your value; $array[0][4] = //

我有一个叫做
$array
的二维数组。在这里的另一个问题之后,我知道如何将整个子数组从二维数组更改为如下所示:

代码

如何仅更改
$array[0][3]、$array[0][4]
$array[1]

$array使用
$stamm
+动词的结尾表示一段时间,例如“on”。 在某些情况下,我必须更改动词的词根(
$stamm
)。

使用上面的代码,它可以完美地更改整个
数组[0]
数组[1]

你为什么不干脆这样做呢

$array[0][3] = //your value;
$array[0][4] =  //your value;  
如果要更改
$array[1]
的所有值:

foreach ($array[1] as $key => $value) {  
      $array[1][$key] = //your value;
    }  
编辑使用foreach完成所有这些操作:

foreach ($keys as $key) { 
  foreach ($array[$key] as $key2 => $value) { 
      if(($key==0 && ($key2 == 3 || $key2 == 4)) || ($key == 1) ) 
          $array[$key][$key2] = //your value;
    }
} 

在foreach循环之前,它们的循环是if循环。我有很多类似的if循环,我会经常改变数组的某些部分(共轭脚本)。我认为用foreach-loops这样做会更短更优雅。为什么不
foreach($array[1]as&$value){$value=$new\u value;}
?@grisha检查我答案中的
编辑部分以获得自动更新solution@LuthandoLoot谢谢,这是我一直在寻找的。将
&($key2==3 | |$key2==4)
更改为$key2=array(3,4)这样的数组会更优雅吗?是的,您可以在这样的数组中添加接受的值
$acceptedValues=array(1,2)
然后
如果(在数组中($key2,$acceptedValues))
您能详细说明一下您真正打算做什么吗?我指的是功能部分,你想实现什么?那么我们可能会提供更好的解决方案/解释,谢谢!谢谢:)我相信下面已经提供了一些简单的解决方案。作为补充,你也可以“输入”你的价值观,也就是说,我的意思是用花蕊和结尾来赚钱。然后,如果您使用简单对象,您可以检查可能更可读的类型,即:if($value instanceof Stamm),然后。。。稍微复杂一点,但以后可能更容易阅读。
foreach ($keys as $key) { 
  foreach ($array[$key] as $key2 => $value) { 
      if(($key==0 && ($key2 == 3 || $key2 == 4)) || ($key == 1) ) 
          $array[$key][$key2] = //your value;
    }
}