我试着实现我的HmIP设备,我使用一个python脚本来检索我的值,我得到了一个数组,我用foreach分解了它:
foreach ($output as $line) {
$raw = explode (" ", $line);
$device[$raw['2']] = $raw;
}
现在我的数组如下所示:
[Window-Kitchen] => Array
(
[0] => ABCD123EFG
[1] => HMIP-SWDO
[2] => Window-Kitchen]
[3] => lowBat(False)
[4] => unreach(False)
[5] => rssiDeviceValue(-75)
[6] => rssiPeerValue(None)
[7] => configPending(False)
[8] => dutyCycle(False)
[9] => sabotage(False)
[10] => windowState(CLOSED)
)
[Outdoor] => Array
(
[0] => 1234ABDCFGD
[1] => HmIP-STHO
[2] => Outdoor
[3] => lowBat(False)
[4] => unreach(False)
[5] => rssiDeviceValue(-72)
[6] => rssiPeerValue(None)
[7] => configPending(False)
[8] => dutyCycle(False)
[9] => temperatureOutOfRange(False)
[10] => actualTemperature(10.4)
[11] => humidity(86)
[12] => vaporAmount(8.275512614884711)
现在我想创建一个“美化”数组,如下所示:
[Outdoor] => Array
(
[device_id] => 1234ABDCFGD
[device_type] => HmIP-STHO
[lowbat] => false
[unreach] => false
...
正如你所看到的,键1-2是静态的,其余的是动态的,它根据设备类型而不同。我不知道从哪里开始,任何帮助都是感激的。
2条答案
按热度按时间rta7y2nd1#
可以使用array_combine函数从两个数组中构建一个数组,第一个包含键,第二个保存值。
cfh9epnr2#
在@Pinke Helga的帮助下,我能够写出下面的工作脚本:
有没有更好的方法来实现这一目标?