因此,这里是我的代码: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