色々とアドバイスありがとうございます。

用途としては、次のようにselectクエリの結果セットを1行づつ$rowに格納して
カラムの値をそれぞれ配列に格納しています。
配列の一つである$ImageId_arrをforeach()で利用して、配列分の値をecho
させています。

本来のforeachの使い方ではなくて、気持ち悪いと思います。

while ($row = $result->fetch_assoc()) {
$ImageId_arr[] = $row["image_id"];
$color_arr[] = $row["color"];
$body_arr[] = $row["body"];
$subcommnet_arr[] = $row["subcomment"];
}


foreach($ImageId_array as $key){
echo "<p>".$ImageId_arr[$i]."</p>";
echo "<p>".$color_arr[$i] ."</p>";
echo "<p>".$body_arr[$i]."</p>";
echo "<p>".$subcommnet_arr[$i]."</p>";
$i++;
}