繁体   English   中英

参数(或参数)如何在PHP函数中工作?

[英]How do parameters (or arguments) work in PHP functions?

我发现了不同的函数,其中的参数似乎在起作用或表现不同

我尝试了一个具有两个参数的基本函数,这些参数被定义为函数内部的变量,但是我想了解的函数未定义函数内部的参数

例如:

 function myFunction($name, $age)
  {
    $name = ('maj');
    $age = ('31');
  }

理论上(当我调用该函数时)应打印到屏幕上:

3月31日

但是这个例子呢?

 function createTable($name, $query)
  {
    queryMysql("CREATE TABLE IF NOT EXISTS $name($query)");
    echo "Table '$name' created or already exists.<br>";
  }

 function queryMysql($query)
  {
    global $connection;
    $result = $connection->query($query);
    if (!$result) die($connection->error);
    return $result;
  }

所以,这是我感到困惑的地方。 这些函数中的参数$ name和$ query定义在哪里?

参数主要是(并非总是)用于将事物传递到函数中

因此,如果您希望函数打印您赋予它的那些值,它将看起来像这样。

function myFunction($name, $age) {
    echo $name;
    echo ' ';
    echo $age;
    echo PHP_EOL;
}

// call the function and pass the paramters into it

myFunction('maj', 31);
myFunction('John', 32);

结果:

maj 31
John 32

您无需在函数内部定义这两个变量,它们仅在被添加到参数列表中时才被定义并存在于函数中。

函数是可以在程序中重复使用的语句块。 您已经定义了函数,现在需要在要执行的位置调用它们。 信息可以通过参数传递给函数,参数是逗号分隔的表达式列表。 从左到右评估参数。 以下函数具有两个参数$name, $query因此,在createTable函数调用时,您还需要传递这两个参数,并且这些参数在函数内部使用。

//define function
function createTable($name, $query) {
    queryMysql("CREATE TABLE IF NOT EXISTS $name($query)");
    echo "Table '$name' created or already exists.<br>";
}

//call the function
createTable('user', 'id INT NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(id),
        NAME VARCHAR(30) NOT NULL');

有关更多信息,您可以参考PHP 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM