函数声明后括号内有变量是什么意思?

问题描述 投票:0回答:3

您能解释一下这段代码中

$arg
的含义吗? (它来自 Drupal 模块)

function node_add_review_load($arg) {
  global $user;
  $add_review = FALSE;
  $current_node = node_load($arg);
  $type =$current_node->type;
  $axes_count = db_result(db_query("SELECT COUNT(*) FROM {nodereview_axes} WHERE node_type='%s'", $type));
    if (variable_get('nodereview_use_' . $type, 0) && $axes_count) {
      $add_review = db_result(db_query("SELECT n.nid FROM {node} n INNER JOIN {nodereview} nr ON n.nid=nr.nid WHERE uid=%d AND reviewed_nid=%d", $user->uid, $arg));
    }
    return $add_review ? FALSE : $arg;
 }
php function parameters arguments function-signature
3个回答
5
投票

http://nl.php.net/manual/en/functions.arguments.php

当程序员使用node_add_review_load()时,他可以传递可以在函数中使用的参数。

如果参数 $arg 不同,函数将返回另一个值。

所以程序员可以这样做:

node_add_review_load("my argument");

//and the php automatically does:

$arg = "my argument";

//before executing the rest of the function.

0
投票

一般来说,

arg
是“argument”的缩写,如“函数的参数”。这是一个通用的名称,因此毫无帮助。如果您只是给出方法签名 (
function node_add_review_load($arg)
),我们将不知道。

幸运的是,有了完整的函数体,我们就可以推断出它的用途:它就是node_id。此函数加载由

$arg
标识的节点,然后尝试查找已加载的相应行,然后代码尝试查找当前用户的相应评论。如果成功,该函数将返回相同的
node_id
(即
$arg
);否则将返回FALSE。


0
投票

这是一个争论。

例如,

// function
function sum($arg1, $arg2)
{
 return $arg1+$arg2;
}

// prints 4
echo sum(2,2);

您不必将其命名为 $arg 才有效。例如,

function sum($sillyWilly, $foxyFox)
{
 return $sillyWilly+$foxyFox;
}

而且效果是一样的。您应该为参数指定有用的名称。在这种情况下,参数 $arg 是不好的编程习惯,因为像您这样的人会看到它并对其确切含义感到困惑。因此,在创建函数时,请务必使用有用的名称,以便您记住。

© www.soinside.com 2019 - 2024. All rights reserved.