2013-03-11 98 views
-1

該函數不會生成除空選擇標記之外的任何輸出。 如果沒有指定的天數,它應該根據當前月份自動選擇天數。PHP函數參數不起作用

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>"; 
    } 
+0

我想通了這個問題。我有$ month = 31而不是$ date = 31。 – Ben 2013-03-11 15:56:40

回答

2

你不能做運營商的內部分配。

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

除非你將它們分組內的其他評價組

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

$ days =($ month == NULL)? ifvalue:elsevalue; – Waygood 2013-03-11 15:41:54

+0

任何想法爲什麼我的第二個功能工作? – Ben 2013-03-11 15:44:42

2

嘗試用:

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

$ days =($ month == NULL)? 31:日期(「t」,$ month); – Waygood 2013-03-11 15:42:13

+0

已經改變它。 – hsz 2013-03-11 15:42:34