function test($arg1, $arg2 = "a", $arg3 = "b") {
if (is_null($arg2)) $arg2 = "a";
return $arg1.' '.$arg2.' '.$arg3;
}
echo test(1, null, 3);
Ausgang zu verwenden:
1 a 3
Wird dies auch, dass in JavaScript weisen darauf hin, ist durchaus üblich:
function test (input, callback) {
$.post("example.com/endpoint", input, function(err, data) {
if (error || response.statusCode !== 200) {
callback(true, response)
}
callback(null, data)
})
}
test({
'id': 1,
'name': 'Mary'
}, function (err, data) {
if (err) {
console.log.error('Error!!')
console.log(data)
}
console.log.info(data)
})
Nein, es ist nicht. Um '$ arg3' zu übergeben, müssen Sie auch' $ arg2' übergeben, aber Sie könnten einfach den Standardwert von '$ arg2' übergeben. 'test ('Hallo', 'a', 'Welt');' –
außer ein Trick mit 'func_get_args()' oder mit einem benannten Array als Parameter? Nein. optionale Argumente * müssen * nach dem letzten obligatorischen Argument stehen. (vielleicht gibt es etwas in php7, aber ich bin mir nicht sicher) –
Ich würde normalerweise 'testen ('Hallo', Null, 'Welt!');' und das gilt auch für andere Sprachen ... Vielleicht können Sie einen Test machen um zu sehen, ob '$ arg2' null ist und basierend darauf der Wert" default ". –