使用键将字符串转换为数组

时间:2017-02-18 19:30:57

标签: php arrays string key

我有一个字符串变量:

$asd = '[asd] => 0, [mogh] => 1,[for] => 3 ';

我想用键将其转换为数组。这就是我想要的:

$array['asd'] = 0
$array['mogh'] = 1
$array['for'] = 3

1 个答案:

答案 0 :(得分:0)

如果您正在构建它,您应该使用其他格式,例如JSON,或者根据您的需要使用var_export(),但是如果您别无选择:

preg_match_all('/\[([^\]]+)\] => (\d+)/', $asd, $matches);
$array = array_combine($matches[1], $matches[2]);

或者您可以将其清理并将其转换为要解析的查询字符串:

echo $asd = str_replace(array('[',']',' ','=>',','), array('','','','=','&'), $asd);
parse_str($asd, $array);