在php中用字符串中的数字分隔特殊字符

时间:2015-12-11 21:12:20

标签: php string special-characters

我在字符串中有# or set names directly within 'outer' as noted by @RichardScriven outer(setNames(nm = texts), setNames(nm = patterns), str_count) ,现在我想将每个数字放在单独的变量中,例如$value = "10,120,152"
基本上我要问的是如何将$a = 10; $b = 120; $c = 152;与字符串中的数字分开。

4 个答案:

答案 0 :(得分:0)

$exploded = explode("," , $values);
var_dump($exploded);

Explode(string $delimiter , string $string [, int $limit ])

答案 1 :(得分:0)

你可以使用explode(),它会返回一个带数字的数组。

$array = explode(',', $value);

答案 2 :(得分:0)

使用list

检查一下
$value = "10,120,152";
$variables = explode("," , $values);
$variables = array_map('intval', $variables);//If you want integers add this line
list($a, $b, $c) = $variables;

答案 3 :(得分:0)

如果分隔符始终为,,则使用explode是有意义的。如果分隔符有所不同,您可以使用正则表达式。

$value = "10,120,152";
preg_match_all('/(\d+)/', $value, $matches);
print_r($matches[1]);

输出:

Array
(
    [0] => 10
    [1] => 120
    [2] => 152
)

演示:https://eval.in/483906

\d+是所有连续编号。

Regex101演示:https://regex101.com/r/rP2bV1/1

第三种方法是使用str_getcsv

$value = "10,120,152";
$numbers = str_getcsv($value, ',');
print_r($numbers);

输出:

Array
(
    [0] => 10
    [1] => 120
    [2] => 152
)

演示:https://eval.in/483907