2010-12-14 106 views
0

這是我寫的測試代碼,用於獲取爲$ rectype插入到表中的值。我遇到的問題是$ rectype返回0或空。該文件確實存在,因爲我執行了類似的is_file檢查啓動,導致到編碼的這部分過程如果語句變量返回空

$dirchk1 = "/temp/files/" . $data[0] . ".doc"; // exist 
$dirchk2 = "/temp/files/" . $data[1] . ".doc"; // exist 

$file_1 = (is_file($dirchk1)); 
$file_2 = (is_file($dirchk2)); 

if ($file_1) { 
$rectype == ($file_2 ? '3' : '1'); 
} 

echo $rectype . "\n"; 
+0

您正在通過'=='進行比較,而您想通過'='進行分配 – 2010-12-14 19:20:57

回答

3

您正在使用==代替=

2

你有一個錯字:

$rectype = ($file_2 ? '3' : '1'); 

還可以閱讀一些有關operator precedence避免使用這麼多無用的括號。

2

你需要做一個分配

$rectype = ($file_2 ? '3' : '1'); 

,而不是一個比較

$rectype == ($file_2 ? '3' : '1'); 
2

隨着隨處鍵入,您正在使用比較$expression == $expression而不是分配$variable = $expression;

他們沒有告訴你,你的代碼,因爲暴露將刪除E_NOTICE$rectype是未初始化。

在調試時用error_reporting(E_ALL)運行代碼是一種很好的做法,它會告訴你這些錯誤和它們的位置。