对包含分隔名称 - 值对的字符串进行标记和重构

Wax*_*ken 1 php arrays string explode implode

我有一个字符串结构如下:

 "01;AA:02;AB:03;AC:"
Run Code Online (Sandbox Code Playgroud)

有没有办法使其成为$ _POST样式格式,其中:

 $MyVar['01'] = "AA"
 $MyVar['02'] = "AB"
 $MyVar['03'] = "AC"
Run Code Online (Sandbox Code Playgroud)

当我完成更改时,我还想以某种方式将其重新打包成原始的字符串格式.(在内爆时不需要前导零,爆炸时可能不存在)

编辑:添加信息

 InevntorySKU;InventoryQTY:
     086;99:043;99:130;99:131;99:132;99:133;99:134;99:135;99:136;99:137;99:138;99:139;99:140;99:141;99:142;99:143;99:
Run Code Online (Sandbox Code Playgroud)

Nie*_*sol 8

没有内置函数可以执行此操作,但您可以这样做:

$MyVar = array();
foreach(array_filter(explode(":",$input)) as $i) {
    list($k,$v) = explode(";",$i,2);
    $MyVar[$k] = $v;
}
Run Code Online (Sandbox Code Playgroud)

您将使用类似的设置进行反向过程:

$output = "";
foreach($MyVar as $k=>$v) $output .= $k.";".$v.":";
Run Code Online (Sandbox Code Playgroud)