2013-03-31 24 views
0

作为标题说,我有这块代码,我想知道如果我可以写一个变量,采用另一个类似的名称,但在循环之外。PHP - 变量内循环和另一个外部

是否会造成问题?

<?php 
    $query = "SELECT * FROM subjects"; 
    $subjects_set = mysql_query($query); 
    errors_of($subjects_set); 

    while ($db_subjects_rows = mysql_fetch_array($subjects_set)){ 
      echo "<li>{$db_subjects_rows["menu_name"]}</li>"; 

      $pages_set = mysql_query("SELECT * FROM pages WHERE subject_id = {$db_subjects_rows["id"]}"); 


     errors_of($pages_set); 
     echo "<ul class=\"pages\">"; 
     while ($db_pages_rows = mysql_fetch_array($pages_set)){ 
     echo "<li>{$db_pages_rows["menu_name"]}</li>"; 
     } 
      echo "</ul>";      
    } 

?> 
+0

您可以访问在其内部循环之外声明的所有变量 – kero

+2

[**请勿在新代码**中使用'mysql_ *'函数](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

回答

2

使用循环中的局部变量不会创建一个问题,如果多数民众赞成你问什么,你应该阅读有关变量的作用域

函数有一个范围,班里有一个范围,有全局范围

+0

谢谢...我将 – Kareem

+0

A.Shabaan但我要求的循环内的变量。如果我在一个函数中使用外部函数,它和外部函数之间的相似性会导致错误? – Kareem

+0

你在说什么变量的名字? –

0

所有使用outside循环的变量都可以访问inside循环。请参阅manual以了解更多关于PHP变量范围的信息。

+0

谢谢你的参考 – Kareem

相关问题