用php获取范围字母和数字

时间:2016-10-25 09:25:39

标签: php string numbers range

如何在php中获取底部字符串的范围?

M0000001:M0000100

我想要结果

M0000001
M0000002
M0000003
..
..
..
M0000100

这就是我做的事情

<?php
$string = "M0000001:M0000100";
$explode = explode(":",$string );
$text_one = $explode[0];
$text_two = $explode[1];
$range = range($text_one,$text_two);
print_r($range);
?>

所以有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

这是你可以做到这一点的众多方法之一,这有点冗长,但希望它能向你展示一些&#34;步骤&#34;采取。

它不会检查第一个数字是否大于第二个数字。

它不会检查您的范围字符串以&#34; M&#34;开始。

它没有所有必需的评论。

这些是你需要考虑和解决的事情......

<?php
$string = "M00000045:M000099";
echo generate_range_from_string($string);

function generate_range_from_string($string) {
// First explode the two strings
    $explode  = explode(":", $string);
    $text_one = $explode[0];
    $text_two = $explode[1];
// Remove the Leading Alpha character
    $range_one      = str_replace('M', '', $text_one);
    $range_two      = str_replace('M', '', $text_two);
    $padding_length = strlen($range_one);
// Build the output string
    $output = '';
    for ( $index = (int) $range_one; $index <= (int) $range_two; $index ++ ) {
        $output .= 'M' . str_pad($index, $padding_length, '0', STR_PAD_LEFT) . '<br>';
    }

    return $output;
}

输出以您在问题中指定的格式列出String。所以这完全基于此。

这可能需要进行一些修改,以使其更具功能性,因为我确信有些人会挑选出来!