台灣最大程式設計社群網站
線上人數
641
 
會員總數:244895
討論主題:188889
歡迎您免費加入會員
討論區列表 >> PHP >> php 關於在for回圈內放if判斷
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
php 關於在for回圈內放if判斷
價值 : 50 QP  點閱數:928 回應數:6

樓主

良介
門外漢
0 1
24 0
發送站內信

<HTML>
<HEAD>
<meta charset="utf-8">
<TITLE>線上測驗</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 7 COLOR = blue>線上測驗</FONT>
</CENTER>
<HR>
<P>
<?php
//若沒有傳遞表單資料則顯示問卷
if (! isset($_POST["radio1"]))
{
?>
<FONT size=6>測試題目</FONT><B>
<?php
//將問卷題目建立為字串陣列
$aryQus = array("1. 1+1=?",
"2. 中國領導人為(目前)?",
"3. 失敗為( )之母?");

//將問卷選項建立為字串陣列
?>
<FORM action="exam.php" method= Post>
<?php
//第一層for迴圈用於輸出問卷題目

for ($i = 1,$c = 1; $i <= 3; $i++)
{
if($c=1){
$aryOpt = array('2','3','4','5');
$c++;
}

else if($c=2){

$aryOpt = array('董重酬','習近平','鄧小平','毛澤東');
$c++;
}

else if($c=3)
{
$aryOpt = array("成功","成癮","成真","真摯");
}

?>
<FONT size=4 color=Gray><B> <?php echo $aryQus[$i-1] ?>
</B></FONT>
<?php
//第二層for迴圈用於輸出問卷各題目的選項

for ($j = 1 ;$j <= 4; $j++)
{echo $c;


?>
<BR><INPUT type="radio" name= <?php echo "radio".$i; ?> value=<?php echo $j ?>>
<FONT size=4 color=Brown>
<?php echo $aryOpt[$j-1] ?> <BR></FONT>
<?php
}
}

?><BR> </P>
<BR>
<INPUT type="Submit" value="填好了 !">&nbsp;&nbsp;&nbsp;
<A Href=QusRes.php>統計結果</A>
</FORM>


可是if判斷在for迴圈只執行一次...這個要怎麼解決...


搜尋相關Tags的文章: [ if ] , [ for ] ,
本篇文章發表於2016-12-26 19:33
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

彩虹
檢舉此回應
1.請善用程式碼標籤

2.你基礎真的不太夠,要從頭教你寫也不太可能

3.新手常常會分不清楚「=」與「==」的差別
=,是賦予變數的值
==,用於條件判斷
所以你if裡面應該要改成if($c==1)
本篇文章回覆於2016-12-26 20:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
我比較想吐槽的是那個$c,根本是多餘吧
直接用$i不就可以了,還不用手動++
本篇文章回覆於2016-12-27 09:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

可樂快跑
檢舉此回應
我比較想吐槽的除了迷路說的…
還有就是最後只會剩下:$aryOpt = array("成功","成癮","成真","真摯");

本篇文章回覆於2016-12-27 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

可樂快跑
檢舉此回應
啊!我中了排版混亂的陷阱了!

本篇文章回覆於2016-12-27 11:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

可樂快跑
檢舉此回應
他這樣寫,讓我誤以為for的區間就到此為止……很不好的設計。

本篇文章回覆於2016-12-27 11:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我是完全不想吐槽了~~~~哇哈哈

好吧~~~還是說一下好了

1. for ($i = 1,$c = 1; $i <= 3; $i++)
這是什麼鬼寫法@@"雖然這樣子做並不會出錯~~~但這太容易看錯了吧。
一般要多重參數回圈。其運行式是螱重累加的模式。
唯一值根本不需要放在for內吧。這會造成誤會。

2.else if($c=2){
同第一個原因。你的$c永遠為1了。你覺得這埵野i能會是2嗎??

3.你要的東西,因該是一個提目一個答案。你會何不用多維陣列來處理不就好了。


認真來說~~~~我會叫你全部打掉。因為這樣的東西並沒有可吐槽的價值。

好吧~~~我承認我太嚴苛。可以忽略我說的話
本篇文章回覆於2016-12-27 11:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.