我已经在网上搜索了几个小时,但找不到合适的解决方案。
这种情况:
我想将一些数据添加到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个。
这样做最体面(快速?)的解决方案是什么?
答案 0 :(得分:1)
我可以说,听起来你只是想在阵列上添加新数据。
foreach ($array as $index => $user) {
if ($user['id'] == $id) {
$user[$index]['example_var'] = $someVar;
}
}
这样做,是使用array [0]遍历每个元素,并将该元素索引存储在$ index中。这允许您将这些值放在原始数组中。在foreach循环终止后,$ user值将超出范围,因此您必须将其直接添加到原始数组中。