while ループ中に配列に追加する際に問題が発生しました。どなたか助けていただけないでしょうか。まず、いくつかの背景。いくつかのSQL結果をループして、後で処理しやすくするためにさまざまなIDでグループ化しながら結果を収集しようとしています。動作していないコードは 1 行だけのようです。以下にいくつかのコードがあります
while($row=mysql_fetch_assoc($res)){
if(!array_key_exists($row['foreign_key_value'],$contacts)){
$contacts[$row['foreign_key_value']]=array();
}
if(!array_key_exists($row['uid'],$contacts['foreign_key_value'])){
$contacts[$row['foreign_key_value']][$row['uid']]=array();
}
$contacts[$row['foreign_key_value']][$row['uid']][$row['rating_id']]=$row['rating_value'];
}
これは私が問題を抱えている最後の行で、rating_id と rating_value を追加しています。ループしているデータは、foreign_key_value、uid、rating_id、rating_value の 4 つのフィールドです。最終的に作りたい構造は次のようになります
array(1) {
[73]=>
array(2) {
[9]=>
array(1) {
[4]=>
string(1) "3"
}
[1762]=>
array(1) {
[1]=>
string(1) "5"
}
}
rating_id と rating_value を取得して、最後の配列に複数のキーと値のペアを作成することはできません.5つのペアが必要です。私が得ているのは、最後に選択されたペアだけです。必要なデータを取得できない理由がまったくわかりません。誰か助けてもらえますか?
abc667 - あなたはその通りです。どうもありがとうございました。ずっと見つめていたのに見逃してしまって バカみたいになってきた