因此,這裏是我的代碼:PHP:如何從數組中只打印一次每個項目的值?
foreach ($result->devices as $device) {
$flag = false;
foreach ($device as $key => $value) {
if(!$flag){
var_dump($key);
$flag = true;
}
var_dump($value);
}
}
我試圖實現的是僅打印鍵(描述,品牌等)只有一次,但打印所有這些密鑰的價值發現每個設備。這是爲了使它最終保存爲.csv
注意:$ result =一個多維數組,其中我只對它的設備部分感興趣,因此是$result->devices
。 這個工程現在只打印了發現每個設備的第一個鍵的方式,我現在得到看起來類似:
string 'deviceId' (length=8) // keeps getting repeated
int 4268
string 'beschrijving nr 53' (length=18)
...
string 'deviceId' (length=8) // keeps getting repeated
int 4267
string 'Weer een tooltje' (length=16)
我試圖得到的是類似的東西:
string 'deviceId' (length=8)
string 'description' (length=??)
string 'status' (length=??)
... // rest of keys, followed by devices
int 4268
string 'beschrijving nr 53' (length=18)
... // rest of values, followed by other devices
int 4267
string 'Weer een tooltje' (length=16)
我確定這是簡單的,就像操作順序錯誤,或者將某些東西移入/移出某個循環,但在嘗試過各種變化之後,我並不聰明。
那麼誰能解開這個謎,我非常感謝你。
add this'var_dump($ value);'in else – devpro
這並不完全清楚你想要達到什麼,以及你自己做了什麼。你能否給我們展示一些代碼,以及一個帶有示例輸出csv的正確示例輸入數組。然後,我們可能能夠正確地提供幫助 –
我會簡化它並分開編寫標題和數據行。在循環輸出第一個數組元素的鍵之前。然後遍歷所有元素並輸出值。 – Kwebble