2012-09-07 50 views
-1

您好我有一些簡單的代碼在這裏,至於我可以告訴應該是工作,但它沒有,我很不解,爲什麼設置和打印出數組變量

//VARIABLES 
$rowcount=15; 
$colcount=15; 
$path= array(array()); 
$startrow=8; 
$startcol=7; 
$row=$startrow; 
$col=$startcol; 

for ($a=0;$a<$rowcount;$a++) { 
    for ($b=0;$b<$colcount;$b++) { 
     $path[$a][$b]=0; 
    } 
} 

echo"In case one "; 
echo"<BR>"; 
echo " Col= ".$col; 
echo " Row= ".$row-1; 
echo " Col= ".$col; 
echo " Cell= ".$path[$row-1][$col]; 
echo " Cellx= ".$path[7][7]; 
if($path[$row-1][$col]=="o") { 
    echo " F1 = ".$flagOne; 
     $flagOne="1"; 
     echo " cell equals ==o=="; 
     echo " F1 = ".$flagOne; 
} else { 
    echo " cell not equal ==o=="; 
} 
echo"<BR>"; 

這是什麼我得到的輸出

如果一個

列= 7-1列= 7細胞= 0 Cellx = 0 F1 = 0細胞等於== ==ØF1 = 1

令我百思不解是第七點「-1」 我希望看到「行= 7」不是「-1」,因爲$ row = 8

我一直在java和C編程,最近剛剛觸摸PHP最近,但我一直在PHP多年,我認爲這應該是工作

我在做什麼錯

由於看if語句的陣列/單元格的值= 0,所以我也希望評價是假的另一個問題 和呼應這個

cell not equal == o ==

但爲什麼這 我的一個思想狀況評估真正爲我設立$ PATH變量

我只是希望它是一個簡單的二維數組$ PATH [$一] [$ B的方式]它是正確的,當我輸出數組我正在期待一個二維數組。

從來沒有做這些多過去

回答

1
$rowcount=15; 
$colcount=15; 
$path= array(array()); 
$startrow=8; 
$startcol=7; 
$row=$startrow; 
$col=$startcol; 

for ($a=0;$a<$rowcount;$a++) { 
    for ($b=0;$b<$colcount;$b++) { 
     $path[$a][$b]=0; 
    } 
} 

echo"In case one "; 
echo"<BR>"; 
echo " Col= ".$col; 
echo " Row= ".($row-1); 
echo " Col= ".$col; 
echo " Cell= ".$path[$row-1][$col]; 
echo " Cellx= ".$path[7][7]; 
if($path[$row-1][$col]==0) { 
    echo " F1 = ".$flagOne; 
     $flagOne="1"; 
     echo " cell equals ==0=="; 
     echo " F1 = ".$flagOne; 
} else { 
    echo " cell not equal ==0=="; 
} 
echo"<BR>"; 

首先,不使用雙引號遍佈腳本。在PHP中使用雙引號和單引號有特殊意義,請閱讀有關此手冊。第二個字符「o」不是零。您可以清楚地看到,您正試圖將零與小寫「o」匹配。而且,整數不需要像PHP中的每種語言那樣引用。檢查您的字體設置以區別對方。第三 - 如果你在PHP中進行評估和連接,你應該在評估語句中用括號括起來,儘管這是一種不好的做法。預先計算值並在將它們發送到輸出之前或在將它們與另一個值連接成字符串之前將它們分配給值會更好。

+0

我實際上正在嘗試使用小寫字母o在實際輸出區域中,我比較了顯示時零和字母o的外觀。這段代碼實際上來自一個case語句,該語句爲字母o交換零。 (我像使用地圖一樣使用數組。)在連接時,我不知道評估之外的Parens。 –