You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP将含冒号空格分隔元素的索引数组转为关联数组

解决方案

核心思路

跳过数组首尾的无效OK行,将剩余key: value格式的元素按冒号加空格分割一次的规则提取键和值,直接构建一维关联数组。

实现代码

// 初始化空的关联数组
$newStat = [];

foreach ($stat as $item) {
    $item = trim($item);
    
    // 跳过首尾的OK行(无效数据)
    if ($item === 'OK' || str_starts_with($item, 'OK MPD')) {
        continue;
    }
    
    // 只分割一次,保留值中的冒号(比如time、audio字段)
    list($key, $value) = explode(': ', $item, 2);
    
    // 给关联数组赋值
    $newStat[$key] = $value;
}

代码说明

  • explode(': ', $item, 2):第三个参数2限制仅分割一次,避免像time: 14992:0这类值含冒号的元素被错误拆分,保证值的完整性。
  • 跳过无效行:过滤掉数组首尾的OK MPD 0.23.5和OK,避免无效键值对混入结果。
  • 直接构建一维数组:每次循环将提取的键值对存入$newStat,最终得到结构清晰的一维关联数组,不会出现多维数组问题。

最终数组结构示例

Array
(
    [repeat] => 0
    [random] => 0
    [single] => 0
    [consume] => 1
    [partition] => default
    [playlist] => 11292
    [playlistlength] => 1
    [mixrampdb] => 0
    [state] => play
    [song] => 0
    [songid] => 3
    [time] => 14992:0
    [elapsed] => 14992.067
    [bitrate] => 48
    [audio] => 44100:16:2
)

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:15:29