PHP:如何将逗号分隔的年级字符串转换为英语可读的“年级范围”?

发布于 2024-11-17 12:18:55 字数 253 浏览 2 评论 0原文

我有一个学生的年级字符串(不是数组)。以下是一些可能条目的示例:

k,1,2,3,4,5
1,2,3,4
1
1,2
3,4,5

学生的最高年级是 5。

我想将字符串转换为英语可读范围。因此,鉴于我上面的示例,这将是输出:

K & Up
1-4
1
1 & 2
3 & Up

如何最好地处理这个问题?感谢示例,谢谢!

I have a string (not an array) of grade levels for a student. Here are some examples of possible entries:

k,1,2,3,4,5
1,2,3,4
1
1,2
3,4,5

Maximum grade level for a student is 5.

I want to convert the string to an english readable range. So given my above examples, this would be the output:

K & Up
1-4
1
1 & 2
3 & Up

How best to handle this? Examples are appreciated, thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九厘米的零° 2024-11-24 12:18:55
<?php
function toRange($string)
{
$min = "K";
$max = 5;

//take string and turn into an array
$grades = explode(", ",$string);
$firstItem = $grades[0];
$lastItem = $grades[count($grades)-1];
if (count($grades) == 1)
{
  $output = $firstItem;
}
else
{
    if ($firstItem == "K")
    {
        if ($lastItem == 5)
        {
          $output = "K & Up";
        }
        if ($lastItem == 1)
        {
            $output = "K & 1";
        }
        else {
            $output = "K -" . $lastItem;
        }
        break;

    }
    else 
    {
        if ($lastItem == 5)
        {
            if ($firstItem != 4)
            {
                $output = $firstItem . " & Up";
            }
            else {
                $output = "4 & 5";
            }
        }
        else {
            if ($lastItem > $firstItem + 1)
            {
                $output = $firstItem . " - " . $lastItem;
            }
            else {
                $output = $firstItem . " & " . $lastItem;
            }
        }
    }


     }
return $output;
    }


?>

如果没有那封信的介入,事情可能会容易得多。

<?php
function toRange($string)
{
$min = "K";
$max = 5;

//take string and turn into an array
$grades = explode(", ",$string);
$firstItem = $grades[0];
$lastItem = $grades[count($grades)-1];
if (count($grades) == 1)
{
  $output = $firstItem;
}
else
{
    if ($firstItem == "K")
    {
        if ($lastItem == 5)
        {
          $output = "K & Up";
        }
        if ($lastItem == 1)
        {
            $output = "K & 1";
        }
        else {
            $output = "K -" . $lastItem;
        }
        break;

    }
    else 
    {
        if ($lastItem == 5)
        {
            if ($firstItem != 4)
            {
                $output = $firstItem . " & Up";
            }
            else {
                $output = "4 & 5";
            }
        }
        else {
            if ($lastItem > $firstItem + 1)
            {
                $output = $firstItem . " - " . $lastItem;
            }
            else {
                $output = $firstItem . " & " . $lastItem;
            }
        }
    }


     }
return $output;
    }


?>

This could have been much easier had it not been for the involvement of the letter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文