我知道if语句将结果作为布尔值。
<?php
if (isset($_GET['subj'])) {
$sel_subj = $_GET['subj'];
$sel_page = "";
?>
我可以在if语句之外使用$ sel_subj或$ sel_page吗? while循环的第二个问题?我可以在其外部使用变量或在本地范围内使用它吗?
while ($page = mysql_fetch_array($page_set)) {
echo "<li";
if ($page["id"] == $sel_page) { echo " class=\"selected\""; }
echo "><a href=\"content.php?page=" . urlencode($page["id"]) .
"\">{$page["menu_name"]}</a></li>";
}
答案 0 :(得分:2)
基本上是的,在if或while中定义的任何变量都将在if或while存在的范围内可用(因为它们是在条件中定义的,尽管它们可能没有被设置,因此您将收到未定义的警告)
所以
function foo(){
$i=0
while($i==0){
$i=1;
$a=1;
}
echo $a;
//$a is available here although it might be undefined as the condition may not have been met
}
echo $a //$a is not available here
理想情况下,您应首先声明变量。