2011-05-01 133 views
0

我想有$count为全局变量,我得到它的迭代罚款,对于一个案件,但在其他它总是返回0PHP变量范围

$count; 

if(something) 
{ 
    if (somethingelse) 
    { 
    $result = mysql_query(SELECT * FROM Somewhere); 

    while ($row = mysql_fetch_assoc($result)) 
    { 
     // this count is always zero 
     echo $count; 
    } 
    } 
    else 
    { 
    $count = aValue; 

    $anotherResult = mysql_query(SELECT * FROM SomeOtherTable); 

    while ($row = mysql_fetch_assoc($anotherResult)) 
    { 
     $count++; 
     // this iterates... 
     echo $count; 
    } 
    } 
} 
+2

好的,你还期望什么?你在'if'情况下不会增加'$ count'。 – deceze 2011-05-01 02:03:02

+0

不,但重点是我希望计数量可以在else语句中增加的if语句中读取。我猜我在问怎么把它变成一个全局变量... – daidai 2011-05-01 02:35:59

+0

你的代码将*执行'if'分支*或'else'分支。它不会同时执行,所以你不会在'if'分支中得到'else'分支的结果。你到底想做什么? – deceze 2011-05-01 02:38:17

回答

0

$count变量始终是零你的第一个案例,因为你没有增加它的任何地方,你只是打印出来。

您也可以为第一种情况添加$count++;

+0

deceze打我吧:) – 2011-05-01 02:06:19