我的代码中有2个地方出现$ account_name,其中一个是函数参数的名称:
的functions.php:
function getAccountID ($account_name) {
$account_id = mysql_query("SELECT account_id FROM accounts WHERE account_name = '$account_name'");
$account_id = (mysql_fetch_assoc($account_id));
}
和另一个值为
的变量的index.php:
$account_name = $fileop[0];
$account_id = getAccountID($account_name);
我知道变量的两个实例具有完全独立的用途:第一个只是函数占位参数的占位符,第二个函数在函数范围之外带有一个值。我试图尽可能地简化事情,这就是为什么我希望它们是相同的。这是否有效,如果是这样可以接受的做法?
答案 0 :(得分:2)
了解PHP variable scope。
简而言之,是的,这是可能的,只要名称描述了它包含的内容,就没有惯例问题。在函数之间重用变量名称是很常见的做法,只要它们可能代表什么没有混淆。
例外情况是$account_name
是一个全局变量,可以在代码中的任何位置访问,包括在getAccountID()
函数中。如果是这种情况,那么重用变量名会导致执行问题或错误,或者至少使代码难以理解。