0

私はPHPスクリプトを書いています。これは、タイムスタンプを使用してページ上のマウスの位置を保存します。単純なヒートマップを生成するために使用されます。X座標とY座標のMySQLデータベースがあり、特定のピクセル上でのカーソルの出現回数を追加するために使用する配列を作成することを考えました。これは次のように機能します。たとえば、4つの記録(x / y)10 / 9,8 / 7,2 / 10,10 / 9と言ってデータベースからデータを読み取り、配列内の各座標に1を配置します。最後のポイントはすでに配列内にあるため、マウスの総数がそのピクセル上にあるため、x = 10 / y=9に2が配置されます。

配列を作成する方法とその読み取り方法を教えてください。

4

1 に答える 1

1

まず、空のマトリックスを作成する必要があります。ここで、グリッド全体が定義され、ゼロが入力されます。

$width = 10;
$height = 10;

$matrix = array_fill(1, $height, array_fill(1, $width, 0));

これで、MySQLの結果を繰り返し処理し、ヒットするたびに関連する各ポイントをインクリメントできます。この例では、x列とy列が単にxandと呼ばれていると仮定しますy

while ($row = mysql_fetch_assoc($queryResult)) {
  $matrix[$row['y']][$row['x']]++;
}

たとえば、次のようなポイントのヒット数を取得する場合は、次のx = 1, y = 8ようにします。

$hits = $matrix[8][1];

レベルを入れ替えることができるので、必要に応じて代わりにx参照できるように外側のレベルにありますが、個人的には、配列がデータベーステーブルのように列の行( s of s)として構造化されている方が理にかなっていると思います。$matrix[$x][$y]$matrix[$y][$x]yx

于 2012-07-11T11:25:52.747 に答える