Variables PHP-if语句和while循环中的变量范围
我知道if语句以布尔形式给出结果Variables PHP-if语句和while循环中的变量范围,variables,loops,scope,while-loop,local,Variables,Loops,Scope,While Loop,Local,我知道if语句以布尔形式给出结果 <?php if (isset($_GET['subj'])) { $sel_subj = $_GET['subj']; $sel_page = ""; ?> 我可以在if语句外使用$sel_subc或$sel_page吗?while循环的第二个问题是什么?我可以使用它之外的变量,还是将其视为局部范围内的变量 while ($page = mysql_
<?php
if (isset($_GET['subj'])) {
$sel_subj = $_GET['subj'];
$sel_page = "";
?>
我可以在if语句外使用$sel_subc或$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>";
}
while($page=mysql\u fetch\u数组($page\u set)){
回声“”;
}
基本上是的,if或while中定义的任何变量都将在if或while存在的范围内可用(因为它们是在条件中定义的,尽管它们可能尚未设置,因此您将收到未定义的警告)
所以
理想情况下,您应该首先声明变量。很抱歉,我对编写的内容做了一些更改。。我认为你现在的答案会有所不同,但基本上是一样的,不像Java那样,在while循环(或者if分支)中声明的变量只在php中的该分支中可用,而在which(或者if)的范围内可用。
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