在PHP中拆分字符串并消除某些键值对

在PHP中拆分字符串并消除某些键值对,php,Php,我有一个字符串,当除以它唯一的分隔符(=)时,它的形式如下: time0 -> 2016-03-18T01:33:52Z time1 -> 2016-03-18T00:25:54Z timezone0 -> GMT timezone1 -> GMT type0 -> Subscription type1 -> General email1 -> email@email.com name0 -> first name1 -> second tr

我有一个字符串,当除以它唯一的分隔符(=)时,它的形式如下:

time0 -> 2016-03-18T01:33:52Z
time1 -> 2016-03-18T00:25:54Z
timezone0 -> GMT
timezone1 -> GMT
type0 -> Subscription
type1 -> General
email1 -> email@email.com
name0 -> first
name1 -> second
tr0 -> ###
tr1 -> ###
st0 -> Created
st1 -> Completed
amt1 -> 19.95
currency1 -> USD
fee1 -> -0.88
net1 -> 19.07
下面是它的代码($result保存完整字符串):

如果有多个类型带有“subscription”(例如,
type0
type2
是“subscription”),那么它将返回
time0
type2
timezone0
timezone2
tr0
tr2


这可能吗?

看起来您需要为订阅对应的类型找到索引,并获得相同的索引值,这对我来说很简单。开头是xml吗?不是,原始字符串是这样的:
time0=2016%2d03%2d18T01%3a33%3a52Z&time1=2016…
。你必须找出哪个键是值“Subscription”,然后记录该键末尾的数字,然后遍历整个键值数组,只选择键末尾的数字是记录的数字之一的位置。哦,好吧。你已经给出了解决方案)是什么阻止了你这么做?首先获取订阅类型的索引,
$index=substr($typstring,4)现在您有了它,在末尾检索具有相同索引的所有其他键。对存在订阅的每种类型重复此操作。您可能正在寻找?
foreach($result as $value){
    $value = explode("=", $value);
    print $value[0] . " -> " .$value[1] . "<br/>";
}
time0 -> 2016-03-18T01:33:52Z
timezone0 -> GMT
type0 -> Subscription
name0 -> first
tr0 -> ###
st0 -> Created