この場合、選択された製品である 0,0,1,0 のようなもので、DB から配列を返しています。それで、要素を選択済みとしてマークする必要があるかどうかを確認しています。
$p
製品グループの配列を取得します。次に、一連の要素に対して、次のようなものを使用します。
<input <?= $p[0]=='1'?'checked':'';?> value="Product 1" />
<input <?= $p[1]=='1'?'checked':'';?> value="Product 2" />
<input <?= $p[2]=='1'?'checked':'';?> value="Product 3" />
<input <?= $p[3]=='1'?'checked':'';?> value="Product 4" />
しかし、選択がまったく行われていない場合があり、空の配列が返され、次のような php エラーがトリガーされます。Uninitialized string offset: 3
マークアップをきれいに保ちながら、空の配列を処理するにはどうすればよいでしょうか? セパレート機能とか?
アップデート
更新されたソリューション。4 つの無線で最初の 3 つがチェックされます。
<?php $p=check(1); ?>
<input type="radio" <?= !empty($p[0])?'checked':'';?>>
<input type="radio" <?= !empty($p[1])?'checked':'';?>>
<input type="radio" <?= !empty($p[2])?'checked':'';?>>
<input type="radio" <?= !empty($p[3])?'checked':'';?>>
>また、SQL クエリの結果は空の配列でさえない場合があります。クエリの結果が何も得られない場合、結果として空の配列が設定されることさえありませんか?