以下の配列には、1 ~ 7 のすべての「ポイント」値の子配列が必要ですが、2、4、および 6 がありません。NULL の「値」を使用して、欠落している値ごとに配列を挿入するにはどうすればよいですか?
for($i = 1; $i <= 7; $i++)
配列に対して and 内部で foreach を実行しているかどうかを確認しようとしましたが、うまくいき'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