我需要在字符串中循环出现一堆数字。我想解析字符串,然后回显出每个数字和段落。
这是字符串:
$string_of_numbers = "-173--37--141--79--274-";
我如何设置一个可以一次查看数字的while循环?
答案 0 :(得分:2)
您可以尝试:
$string_of_numbers = "-173--37--141--79--274-";
$numbers = explode('--', trim($string_of_numbers, '-'));
foreach ($numbers as $number) {
echo $number;
}
使用额外的array_walk
,您可以将值从字符串转换为整数:
array_walk($numbers, 'intval');
答案 1 :(得分:1)
怎么样
$str = "-173--37--141--79--274-";
preg_match_all('!\d+!', $str, $matches);
print_r($matches);
你可以循环遍历所有数字的$ matches
答案 2 :(得分:0)
试试这个
$string_of_numbers = "-173--37--141--79--274-";
$arr = explode("--", $string_of_numbers);
foreach($arr as $val)
{
$val = str_replace("-", "", trim($val);
echo $val; // each number you will get here
}
更新2:
$string_of_numbers = "-173--37--141--79--274-";
$str = substr($string_of_numbers, 1, -1);
$arr = explode("--", $str);
foreach($arr as $val)
{
$val = trim($val);
echo $val; // each number you will get here
}
答案 3 :(得分:0)
您可以使用php preg_split()
函数通过正则表达式来爆炸字符串,这样您就可以在“ - ”之间获取每个字符串。 Php explode()
功能也可以起作用。