PHP函数参数不起作用

时间:2013-03-11 15:39:34

标签: php function parameters ternary-operator

此函数不会生成除空选择标记之外的任何输出。 如果没有指定天数,它应该根据当前月份自动选择天数。

function create_day_select($month=NULL)
      {
        ($month == NULL) ? $date = 31 : $days = date("t",$month);
        echo "<select name='day'>";
        for ($i = 0; $i < $days; $i++){
          echo "<option value='$i'>$i</option>";
        }
        echo "</select>";
      }

此功能正常,我使用了相同的语法:

  function create_year_select($begin=NULL,$end=NULL){
    ($begin == NULL) ? $begin = date("Y") : $begin;
    ($end == NULL) ? $end = date("Y") + 6 : $end ;
    echo "<select name='year'>";
      for($x = $begin; $x < $end; $x++){
        echo "<option value='$x'>$x</option>";
      }
    echo "</select>";
  }

2 个答案:

答案 0 :(得分:2)

尝试:

$days = ( $month == NULL ) ? 31 : date("t",$month);

答案 1 :(得分:2)

您无法在运营商内部进行分配。

$days = ($month == NULL) ? ifvalue : elsevalue;

除非您将其分组到其他评估组中

$value = isset($var) ? ($foo = true) : ($bar = false);