Php 将数据添加到具有条件的特定位置的数组中

Php 将数据添加到具有条件的特定位置的数组中,php,arrays,conditional-statements,Php,Arrays,Conditional Statements,我已经在网上搜索了几个小时,但找不到一个合适的解决方案 这种情况是: 我想将一些数据添加到ID等于某个var的特定数组中 这是需要添加的数据: $var1 = "some data"; $var2 = "some other data"; 阵列的一个示例: array (size=2) 0 => array (size=9) 'id' => string '1' (length=1) 'title' => string 'title' (

我已经在网上搜索了几个小时,但找不到一个合适的解决方案

这种情况是:

我想将一些数据添加到ID等于某个var的特定数组中

这是需要添加的数据:

$var1 = "some data";
$var2 = "some other data";
阵列的一个示例:

array (size=2)
  0 => 
    array (size=9)
      'id' => string '1' (length=1)
      'title' => string 'title' (length=13)
      'description' => string 'Some Description' (length=21)
      'function' => string 'Some function' (length=23)
      'employment' => string 'Some employment' (length=18)
      'region' => string 'Eindhoven' (length=9)
      'region_id' => string '1' (length=1)
      'function_id' => string '1' (length=1)
      'employment_id' => string '3' (length=1)
  1 => 
    array (size=9)
      'id' => string '1' (length=1)
      'title' => string 'title2' (length=13)
      'description' => string 'Some Description2' (length=21)
      'function' => string 'Some function2' (length=23)
      'employment' => string 'Some employment2' (length=18)
      'region' => string 'Eindhoven' (length=9)
      'region_id' => string '1' (length=1)
      'function_id' => string '1' (length=1)
      'employment_id' => string '3' (length=1)
在另一个变量中,我有id。这种情况类似于:

If ($someid == $array[0][0]['id]) {
// Add 'ImNewData' => $var1;
}
在本例中,我使用了2个阵列,但在最终设计中可能是200个


要做到这一点,最合适(快速)的解决方案是什么?

据我所知,这听起来像是在试图向阵列中添加新数据

foreach ($array as $index => $user) {
    if ($user['id'] == $id) {
        $user[$index]['example_var'] = $someVar;
    }
}

这样做的目的是使用数组[0]迭代每个元素,并将该元素索引存储在$index中。这允许您将这些值放置在原始数组中。在foreach循环终止后,$user值将不在作用域内,因此您必须将其直接添加到原始数组。

在200个数组中,深度和作用域是否相同?如果是这样的话,那么你需要一个递归函数,它以数组为参数,通过数组找到你想要的。我想这就是答案!我在php中迷失了方向,因为我使用了array_push()。现在就开始尝试。如果要将新用户添加到数组末尾,而不是修改现有用户,则只需使用数组推送。您之前的人删除了他的答案。但实际上他是对的。我重写了你的答案:foreach($index=>$user){if($user['id']==id){$array[$index]['example\u var']=$someVar;}}}哦,天哪,我误读了你的问题,我以为你有一个多维数组:(我把它当作数组([0]=>array([0]=>stuff',[1]=>stuff'))