【发布时间】:2022-10-18 13:21:18
【问题描述】:
我有一个名为 $stat 的数组,如下所示:
Array
(
[0] => OK MPD 0.23.5
[1] => repeat: 0
[2] => random: 0
[3] => single: 0
[4] => consume: 1
[5] => partition: default
[6] => playlist: 11292
[7] => playlistlength: 1
[8] => mixrampdb: 0
[9] => state: play
[10] => song: 0
[11] => songid: 3
[12] => time: 14992:0
[13] => elapsed: 14992.067
[14] => bitrate: 48
[15] => audio: 44100:16:2
[16] => OK
)
我希望能够使用数组值(在“:”之前)作为变量,而不是数字键。
我需要这样做,因为返回的数组键会根据播放器模式而变化。
我尝试了各种方法,但是我觉得我对 PHP 的了解不足以得出一个解决方案。
我得到的最接近的是:
foreach($stat as $list) {
$list = trim($list);
// echo "$list,";
$list = "{$list}\n";
$list = str_replace(": ", ",", $list);
$xyz = explode(',', $list);
$a=($xyz['0']);
$b=($xyz['1']);
echo "{$a}={$b}";
}
这给了我这个:
repeat=0
random=0
single=0
consume=1
partition=default
playlist=11642
playlistlength=1
mixrampdb=0
state=play
song=0
songid=3
time=15458:0
elapsed=15458.422
bitrate=50
audio=44100:16:2
如果我尝试在 foreach 循环中使用上述输出创建一个数组,我最终会得到一个我似乎无能为力的多维数组。
有人可以帮忙吗?
【问题讨论】: