我想在遇到comma or semicolon
时将字符串转换为数组。
例如字符串a , b ; c , d ; e
将转换为
[0] = a
[1] = b
[2] = c
[3] = d
[4] = e
我尝试使用explode
,到目前为止工作正常,但我只能指定
一个分隔符,如explode(",",$str)
,而我想使用两个分隔符。即
逗号和分号。
我不知道是否可以将explode函数中的模式指定为第一个参数。
答案 0 :(得分:3)
使用preg_split
:
$pieces = preg_split('@[,;]@', 'a,b;c,d;e');
答案 1 :(得分:0)
另一种方法:
$delimeters = array(',',';');
$arr = str_split($str);
/*
[0] = a
[1] = ,
[2] = b
[3] = ;
[4] = c
[5] = ,
[6] = d ...
*/
$filterd = array_filter($arr, function($elem){ return (!in_array($elem , $delimeters)) });
基本上,我们将字符串拆分为数组,因此每个字符都是数组中的元素。 之后,我们过滤数组只返回不是分界符的字符(只需更新分隔符数组)。
答案 2 :(得分:0)
试试这个:
$var_save = strtok($string,',;');
echo $var_save;