我想在comma or semicolon
遇到时将字符串转换为数组。
例如一个字符串a , b ; c , d ; e
将被转换为
[0] = a
[1] = b
[2] = c
[3] = d
[4] = e
我尝试使用explode
,到目前为止效果很好,但我只能指定
一个分隔符,就像explode(",",$str)
我想使用两个分隔符一样。即逗号和分号。
我不知道是否可以在explode 函数中指定一个模式作为第一个参数。
使用preg_split
:
$pieces = preg_split('@[,;]@', 'a,b;c,d;e');
另一种方法:
$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)) });
基本上,我们将字符串拆分为数组,因此每个字符都是数组中的一个元素。之后,我们过滤数组以仅重新调整不是分隔符的字符(只需更新分隔符数组)。
尝试这个:
$var_save = strtok($string,',;');
echo $var_save;