省略PHP中的函数参数

时间:2015-05-12 05:31:11

标签: php function parameters

我有一个保存每个用户日志的功能

SecondComboBoxSelectedVal

当我打电话给它时,我这样做:

<?php
function create_log($action=null, $outcome, $message)
  {
    require 'dbc.php';
    include 'get_ip.php';
    $ip = get_ip_address();
    $dateTime = date('m-d-Y h:i:s A', time());
    $query = "INSERT INTO tbllogs (logOrigin, logAction, logUser, logDate, logOutcome, logMessage) VALUES (:origin, :action, :user, :dt, :outcome, :message)";
    $stmt  = $dbc->prepare($query);
    $stmt->bindParam(':origin', $ip);
    $stmt->bindParam(':action', $action);
    $stmt->bindParam(':user', $_SESSION['id']);
    $stmt->bindParam(':dt', $dateTime);
    $stmt->bindParam(':outcome', $outcome);
    $stmt->bindParam(':message', $message);
    $stmt->execute();
  }

我的问题是,$ message参数仅在我需要时才使用。我应该像这样create_log('Log in', 'Failed', ''); 来称呼它还是我可以这样称呼它? create_log('Log in', 'Failed', '');?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:4)

您可以为参数指定default values

wrap_content

这样,如果您在没有其中一个参数的情况下调用function create_log($action = '', $outcome = '', $message = '') ,则会在函数的定义中为其分配值(create_log以获取上述示例中的所有参数。)