if($key !== $query)是循環體foreach內的判斷,第一次尋找的是2010的學生, 你的提示語是顯示not found student num $query,$query為固定值2014,也就是會出現not found student num 2014。顯示完了你又break結束循環。
可以把break去掉,改成
else if($key != $query){
echo " not found student num $query";
echo "<br/>";
}
就能提示找不到2014的學生,直到找到為止
2016-03-11
<?php ?$students?=?array( '2010'=>'令狐沖', '2011'=>'林平之', '2012'=>'曲洋', '2013'=>'任盈盈', '2014'=>'向問天', '2015'=>'任我行', '2016'=>'沖虛', '2017'=>'方正', '2018'=>'岳不群', '2019'=>'寧中則', );//10個學生的學號和姓名,用數組存儲 $query?=?'2013'; //使用循環結構遍歷數組,獲取學號和姓名 foreach($students?as?$key?=>?$v) {? ????//使用條件結構,判斷是否為該學號 ????if($key?==?$query) ????{? ????????echo?$v;//輸出(打印)姓名 ????????break;//結束循環(跳出循環) ????} ????else?if($key?!==?$query){ ????????echo?"?not?found?student?num?$query";? ????????break; ???????? ????} } ?>結果一直是not found student num XXXX, 不知道是為什么?
2015-07-16
搞定了,這樣對吧:
$name?=?""; foreach($students?as?$num?=>?$both){ ????if?($num?==?$query){ ????????echo?$name=$students[$num]; ????} } if(!$name){ ????echo?"No?such?student."; }