【问题标题】:How to use a for loop inside a return in php using functions?如何使用函数在php的return中使用for循环?
【发布时间】:2014-09-22 15:01:35
【问题描述】:

我有以下功能来填充生日选择字段

function birthday_selector()
{
return '
         <select class="birth_month_select" name="birth_m">
           <option value="">Month</option>
           <option value="01">Jan</option>
           <option value="02">Feb</option>
           <option value="03">Mar</option>
           <option value="04">Apr</option>
           <option value="05">May</option>
           <option value="06">Jun</option>
           <option value="07">Jul</option>
           <option value="08">Aug</option>
           <option value="09">Sep</option>
           <option value="10">Oct</option>
           <option value="11">Nov</option>
           <option value="12">Dec</option>
         </select>
         <!----Select day----->
         <select class="birth_day_select" name="birth_d">
           <option value="">Day</option>

         </select>
         <!----Select Year------>
         <select  class="birth_year_select" name="birth_y">
           <option value="">Year</option>

         </select>';
}

现在我需要在这个函数中使用下面的 for 循环

循环

             for($i=1;$i<=31;$i++)
             {
                if($i <=9){ $new_i='0'.$i; }
                else{ $new_i=$i; }

                echo '<option value="'.$new_i.'">'.$new_i.'</option>';
             }

我如何在函数中使用 for 循环注意:我不是数组专家,所以如果能提供一点帮助,将不胜感激......

另请注意:我不能使用任何 echo 语句,它会搞砸我的文件

【问题讨论】:

  • Google for PHP String concatenation。
  • @Ondkloss 我在阵列方面不是很有经验,这就是我的意思
  • 像这样开始字符串:$str = ''; 然后连接你想要的任何东西,然后像这样返回它:return $str;
  • @Mr.coder 你为什么不放一个jquery datepicker,有些东西告诉我你在滥用php
  • 不要在函数中使用它来返回。只需在该函数中执行全部 html。 Bcz return 只能返回一个字符串或数字值。不是函数。如果你想通过 php 进行选择,这是可能的。

标签: php arrays function for-loop echo


【解决方案1】:

在这个方法中使用like。

 <?php
   $str='<select class="birth_month_select" name="birth_m">';
   for($i=1;$i<=31;$i++)
      {
        if($i <=9){ $new_i='0'.$i; }
        else{ $new_i=$i; }
        $str=$str.'<option value="'.$new_i.'">'.$new_i.'</option>';
      }
      $str=$str."</select>";
      return $str; 
  ?>

【讨论】:

    【解决方案2】:

    为什么不直接使用字符串

    function birthday_selector()
    {
                $str =  '<select class="birth_month_select" name="birth_m">';
    
             for($i=1;$i<=31;$i++)
             {
                if($i <=9){ $new_i='0'.$i; }
                else{ $new_i=$i; }
    
                $str .= '<option value="'.$new_i.'">'.$new_i.'</option>';
             }
    
             $str .= '</select>
                <!----Select day----->
                 <select class="birth_day_select" name="birth_d">
                   <option value="">Day</option>
    
                 </select>
                 <!----Select Year------>
                 <select  class="birth_year_select" name="birth_y">
                   <option value="">Year</option>
    
                 </select>';
             return $str;
    

    }

    【讨论】:

    • 会试一试,让你知道
    • 您的解决方案可以正常工作我应该寻找的任何错误
    猜你喜欢
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 2020-09-11
    • 2011-12-06
    • 2021-02-20
    • 2020-06-03
    • 2016-09-05
    相关资源
    最近更新 更多