私はこれらのエントリを持つ配列を持っています:
$row['10']['something'] = "21";
$row['5']['something'] = "42";
インデックス0から10までの文字列を作りたいのですが、インデックス「5」と「10」しか設定されていません。ただし、次のような文字列が必要です。
0, 0, 0, 0, 42, 0, 0, 0, 0, 21
現在、私はこれを使用しています:
for($i=0; $i <= 10; $i++) {
if (!array_key_exists($i, $row))
$row[$i]['something'] = 0;
if ($i == 10)
$string .= $row['10']['something'];
else
$string .= $row[$i]['something'].', ';
}
しかし、私はそれをもっと効率的にする必要があります。array_map と implode を実行できましたが、追加する方法がわかりません0, 0, 0,...
。21, 42
明確にするために:
$row
この例で呼び出された配列は、SQL クエリから入力されているため、単一のインデックスを上書きすることはできません。既存の配列を完全に上書きします。