1

我知道 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>";
        }
4

1 回答 1

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

理想情况下,您应该首先声明变量。

于 2013-08-13T10:02:34.827 回答