Arrays 多维数组和for循环

Arrays 多维数组和for循环,arrays,loops,foreach,multidimensional-array,Arrays,Loops,Foreach,Multidimensional Array,我有这个密码> if ($firstDayOfTheMonth == "Monday") { $eachDay["monday1"]="1st"; $eachDay["tuesday1"]="2nd"; $eachDay["wednesday1"]="3rd"; $eachDay["thursday1"]="4th"; $eachDay["friday1"]="5th"; $eachDay["saturday1"]="6th"; $eac

我有这个密码>

if ($firstDayOfTheMonth == "Monday")
{

    $eachDay["monday1"]="1st";
    $eachDay["tuesday1"]="2nd";
    $eachDay["wednesday1"]="3rd";
    $eachDay["thursday1"]="4th";
    $eachDay["friday1"]="5th";
    $eachDay["saturday1"]="6th";
    $eachDay["sunday1"]="7th";
    $eachDay["monday2"]="8th";
    $eachDay["tuesday2"]="9th";
    $eachDay["wednesday2"]="10th";
    $eachDay["thursday2"]="11th";
    $eachDay["friday2"]="12th";
    $eachDay["saturday2"]="13th";
    $eachDay["sunday2"]="14th";
    $eachDay["monday3"]="15th";
    $eachDay["tuesday3"]="16th";
    $eachDay["wednesday3"]="17th";
    $eachDay["thursday3"]="18th";
    $eachDay["friday3"]="19th";
    $eachDay["saturday3"]="20th";
    $eachDay["sunday3"]="21st";
    $eachDay["monday4"]="22nd";
    $eachDay["tuesday4"]="23rd";
    $eachDay["wednesday4"]="24th";
    $eachDay["thursday4"]="25th";
    $eachDay["friday4"]="26th";
    $eachDay["saturday4"]="27th";
    $eachDay["sunday4"]="28th";
    $eachDay["monday5"]="29th";
    $eachDay["tuesday5"]="30th";
    $eachDay["wednesday5"]="31st";

}
我想知道是否有人能帮我把它浓缩成一个循环?
代码太长太乱,我想把它缩短为一个可能的实现,假设它是perl

使用严格;
子日哈希{
我的$firstDayOfMonth=lc(班次);
my@days=qw(周一-周二-周三-周五-周六-周日);
我的$start=-1;
我的$i;
对于($i=0;$i<$#天;$i++){
if($firstDayOfMonth eq$days[$i]){
$start=$i;
最后;
}
}
我的%eachDay=();
我的$suffix=1;
我的$key;
我的$val;
对于($i=1;$i$#天){
$start=0;
$suffix++;
}
如果($i%10)==1&&int($i/10)!=1){
$val=$i.‘st’;
}elsif(($i%10)==2&&int($i/10)!=1){
$val=$i.'nd';
}elsif(($i%10)==3&&int($i/10)!=1){
$val=$i.'rd';
}否则{
$val=$i.'th';
}
$eachDay{$key}=$val;
}
每天返回%
}
我的$firstDayOfMonth=“周一”;
我的%eachDay=dayHash($firstDayOfMonth);