如何在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);
?>
所以有人可以帮我这个吗?
答案 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。所以这完全基于此。
这可能需要进行一些修改,以使其更具功能性,因为我确信有些人会挑选出来!