将字符串拆分为变量PHP

时间:2012-06-29 08:45:51

标签: php arrays

我正在试图找出溢出以下网址字符串的最佳方式:

  

区域FFFFFF_miles-100_profession幅+显影剂

基本上如下:

$area = "FFFFFF";
$miles = 100;
$profession = "web developer";

但是我有脑力障碍,无法找到最有效的方法。有什么建议吗?

感谢。

-Edit-我可以处理任何缺失值,例如:

  

区域FFFFFF_miles-_profession幅+显影剂

错过里程等。

3 个答案:

答案 0 :(得分:4)

$params = explode('_', $input);
foreach($params as $param) {
    $kv = explode('-', $param);
    ${$kv[0]} = str_replace('+', ' ', $kv[1]);
}

这也是缺失值的原因。

答案 1 :(得分:2)

您可以使用preg_split:

preg_split("/[_-]/",...);

答案 2 :(得分:0)

这样的事情:

$paramsStr = 'area-FFFFFF_miles-100_profession-web+developer';

$parts = explode('_', $paramsStr);
foreach($parts as $part) {
    $pair = explode('-', $part);
    ${$pair[0]} = $pair[1];
}