我在while循環中添加數組時遇到了一些麻煩,並且想知道是否有人可以幫助我。首先,一些背景。我正在循環查看一些sql結果,並嘗試收集結果,同時通過各種id進行分組,以便稍後處理。它似乎是一行代碼不起作用。有一些代碼如下PHP在while循環中添加到數組中
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。我正在循環的數據是4個字段 - foreign_key_value,uid,rating_id和rating_value。我想,與外表落得像
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 - 你是真的。非常感謝你。我在它的眼前這麼久,我錯過了,我開始覺得自己像個白癡現在
在你的第一個代碼段中,'$ contacts ['foreign_key_value']'是否應該是'$ contacts [$ row ['foreign_key_value']]'? – Passerby
在'if $!array_key_exists($ row ['uid'],$ contacts ['foreign_key_value']))''中將'$ contacts ['foreign_key_value']'更改爲'$ contacts [$ row ['foreign_key_value']]'''' – abc667
abc667 - 你真的很棒。非常感謝你。我一直在盯着它,這麼久,我錯過了,我現在開始覺得自己像個白癡 –