繁体   English   中英

如何调用在php中使用默认参数的函数?

[英]How to call a function that uses default parameters in php?

假设我的功能如下:

function get_param ($param1, $param2 = 'value2', $start = 0, $end = 0){
   //do stuff with params
}

我在一个html页面中调用它不同的时间,该页面有两个ajax POST调用php脚本。

第一个ajax调用只传递第一个参数(param1),第二个传递所有参数(param1,param2,start,end)。 我试图调用get_param()函数总是传递第一个参数(param1),其他只是调用它们(在$_POST数组内)。 否则该函数必须使用他的默认值。

这是我的尝试,但它不起作用。

<?php
if($_POST){
include_once '../includes/functions.php';

if(isset($_POST['param2'])) $param2 = $_POST['param2'];
else $param2 = null;

if(isset($_POST['start'])) $start = $_POST['start'];
else $start = null;

if(isset($_POST['end'])) $end = $_POST['end'];
else $end = null;

$result = get_param($_POST['param1'], $param2, $start, $end);
echo $result;
}
?>

默认的arguemnts仅在您未在其位置传递参数时使用。

$result = get_param($_POST['param1']);

该函数将具有以下值:get_param($ _ POST ['param1'],'value2',0,0)

如果你想用null做,就像你的代码一样,那么你需要检查参数的值。 像这样:

function get_param ($param1, $param2, $start, $end){
   $param2 = ($param2 == null) ? 'value2' : $param2;
   $start = ($start == null) ? 0 : $start;
   $end = ($end== null) ? 0 : $end;
}

暂无
暂无

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

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