-2

如何将具有不同分隔符的字符串拆分为数组?

即将这个: 'web:427;French:435' 转换成这个:

'web' => 427,
'french' => 435
4

2 回答 2

1

只要您的字符串不包含&or ,这将起作用=

$str = 'web:427;French:435';
$str = str_replace([';', ':'], ['&', '='], $str);
parse_str($str, $array);
print_r($array);
于 2013-07-29T23:44:58.457 回答
0

正如马里奥指出的那样,如果您不介意使用正则表达式,您可以修改此答案以满足您的需求。如果您希望在没有正则表达式的情况下执行此操作,请尝试以下操作:(只要您的字符串没有:并且;在变量名称或值内,它将起作用)

$str = 'web:427;French:435';
$array = explode(';',$str); // first explode by semicolon to saparate the variables

$result = array();
foreach($array as $key=>$value){
    $temp = explode(':',$value); // explode each variable by colon to get name and value
    $array[$temp[0]]= $temp[1];
}

print_r($result);
于 2013-07-29T23:40:56.727 回答