有什么方法可以在 PHP 中指定可选参数值? [英] Any way to specify optional parameter values in PHP?

查看:21
本文介绍了有什么方法可以在 PHP 中指定可选参数值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个 PHP 函数 foo:

Let's say I've got a PHP function foo:

function foo($firstName = 'john', $lastName = 'doe') {
    echo $firstName . " " . $lastName;
}
// foo(); --> john doe

有没有办法只指定第二个可选参数?

Is there any way to specify only the second optional parameter?

示例:

foo($lastName='smith'); // output: john smith

推荐答案

PHP 不支持函数本身的命名参数.但是,有一些方法可以解决此问题:

PHP does not support named parameters for functions per se. However, there are some ways to get around this:

  1. 使用数组作为函数的唯一参数.然后您可以从数组中提取值.这允许在数组中使用命名参数.
  2. 如果您想根据上下文允许可选数量的参数,那么您可以使用 func_num_args 和 func_get_args 而不是在函数定义中指定有效参数.然后根据参数的数量、字符串长度等,您可以确定要做什么.
  3. 将空值传递给您不想指定的任何参数.并没有真正解决它,但它有效.
  4. 如果您在对象上下文中工作,那么您可以使用魔术方法 __call() 来处理这些类型的请求,以便您可以根据传递的参数路由到私有方法.

这篇关于有什么方法可以在 PHP 中指定可选参数值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆