下面的数组应该有一个从1到7的每个“点”值的子数组,但是缺少2,4和6。如何为每个缺失值插入一个数组,其值为NULL?PHP填充缺失值的数组
我尝试了一个for($i = 1; $i <= 7; $i++)
并在我的数组中查看是否'point' == $i
,但不起作用。
这已经在一个相当大的数组的嵌套的foreach中,所以性能有点重要。
到目前为止的代码(不完整的,显然不工作)
foreach($measurements as $measurement_id => $set)
{
for($i = 1; $i <= 7; $i++)
{
foreach($set as $key => $value)
{
$fill = array('value' => null);
if($value['point'] == $i)
$output[$measurement_id][$key] = $value;
else
$output[$measurement_id][$key] = $fill;
}
}
}
数组:
[0] => Array
(
[point] => 1
[value] => 1.0
)
[1] => Array
(
[point] => 3
[value] => 2.0
)
[2] => Array
(
[point] => 5
[value] => 3.0
)
[3] => Array
(
[point] => 7
[value] => 4.0
)
结果应该是
[0] => Array
(
[point] => 1
[value] => 1.0
)
[1] => Array
(
[point] => 2
[value] => NULL
)
[2] => Array
(
[point] => 3
[value] => 2.0
)
[3] => Array
(
[point] => 4
[value] => NULL
)
[4] => Array
(
[point] => 5
[value] => 3.0
)
[5] => Array
(
[point] => 6
[value] => NULL
)
[6] => Array
(
[point] => 7
[value] => 4.0
到目前为止你有什么代码? –
你真的想做这个作为创建初始数组的代码的一部分。你最初从哪里获得数据? – Luke
数据来自数据库。增加了代码。 – stef