0

データベースクエリの結果を行ごとに配列に書き込んでから、配列の最後のインデックスに独自の行を追加しています。次のような配列の結果を表示するために Google 開発者ツールを使用しています。

10: {strat_id:1, x_id:1, outcome_id:52, date:1364655600, status:0, rank:1,…}
>
strat_id: "1"
status: "0"
date: "1364655600"
x_id: "1"
outcome_id: "52"
rank: "1"

11: {strat_id:4, x_id:1, outcome_id:49, date:1365674916, status:1, rank:1,…}
>
strat_id: 4
status: "1"
date: 1365674916
x_id: 1
outcome_id: 49
rank: 1

">" 文字は、インデックスを展開した場所を示します。インデックス 10 はデータベースの最後の行であり、展開するとわかるように、値は引用符で囲まれています。インデックス 11 は、手動で追加したデータです。展開すると、値が引用符で囲まれていないことがわかります (「ステータス」を除く)。

一貫性を保つために、この詳細を気にする必要がありますか? 私が使用している配列に追加するには:

$newarray=array("strat_id"=>$_POST['gridID']+1, "x_id"=>$_SESSION['xID'], "outcome_id"=>$_POST['cellID']+1, "date"=>time(), "status"=>$_POST['type'], "rank"=>1);

私が取得しているデータベースの結果:

$result->fetch_array(MYSQLI_ASSOC)

ありがとう。

4

1 に答える 1

1

一貫性を保つために、この詳細を気にする必要がありますか?

それは、それらをどのように使用するかによって異なります。表示だけが必要な場合は、それで問題ありません。ただし、(値があると考えて)比較/計算を行う必要がある場合はdate、それらを数値に変換することをお勧めします。

あなたは試すことができます

$record[]=array_map("intval",$result->fetch_array(MYSQLI_ASSOC));

すべての列を整数として、また後で作成するには

$record[]=array("strat_id"=>intval($_POST['gridID'])+1,
    "x_id"=>$_SESSION['xID'],
    "outcome_id"=>intval($_POST['cellID'])+1,
    "date"=>time(),
    "status"=>intval($_POST['type']),
    "rank"=>1);

したがって、すべての要素を整数として持つ多次元配列を作成します。

于 2013-04-11T11:07:18.333 に答える