PHP在每次出现分隔符之间获取所有子字符串

时间:2015-12-12 21:34:28

标签: php arrays substring delimiter

我有一组查询字符串存储在数据库中

&foo=bar&foo2=bar2

如何使用键作为数组键成功迭代此字符串以将每个键和值提取到数组中?

看看周围,这里的其他问题似乎只是一个值。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用parse_str

{{1}}

在此处查看https://eval.in/484197

答案 1 :(得分:0)

function string2KeyedArray($string, $delimiter = '&', $kv = '=') {
  if ($a = explode($delimiter, $string)) { // create parts
foreach ($a as $s) { // each part
  if ($s) {
    if ($pos = strpos($s, $kv)) { // key/value delimiter
      $ka[trim(substr($s, 0, $pos))] = trim(substr($s, $pos + strlen($kv)));
    } else { // key delimiter not found
      $ka[] = trim($s);
    }
  }
}
return $ka;
  }
} 

现在你可以使用

$string = "&foo=bar&foo2=bar2";
print_r(string2KeyedArray($string));

//Output: Array ( [foo] => bar [foo2] => bar2 )