PHP 是否有“命名参数”,以便可以省略前面的参数并可以写入后面的参数? [复制]

2024-01-10

在 PHP 中,您可以调用不传入任何参数的函数,只要参数具有如下所示的默认值:

function test($t1 ='test1',$t2 ='test2',$t3 ='test3')
{
    echo "$t1, $t2, $t3";
}
test();

但是,假设我希望最后一个参数不同,但前两个参数应使用其默认值。我能想到的唯一方法是这样做但没有成功:

test('test1','test2','hi i am different');

我试过这个:

test(,,'hi i am different');
test(default,default,'hi i am different');

有干净、有效的方法来做到这一点吗?


使用数组:

function test($options = array()) {
    $defaults = array(
        't1' => 'test1',
        't2' => 'test2',
        't3' => 'test3',
    );
    $options = array_merge($defauts, $options);
    extract($options);
    echo "$t1, $t2, $t3";
}

这样调用你的函数:

test(array('t3' => 'hi, i am different'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 是否有“命名参数”,以便可以省略前面的参数并可以写入后面的参数? [复制] 的相关文章

  • 来自发布数据的 CodeIgniter 未通过

    我试图在 CodeIgniter 中上传文件 但是当我添加 enctype multipart form data 时 不会有任何发布数据通过 甚至其他领域也根本没有 但是 当我不添加它时 我可以获得其他帖子数据 但当然没有文件上传 这里出
  • 使用 Facebook API 在朋友的墙上发布帖子

    我希望我的 Facebook 应用程序能够获取使用该应用程序的用户的 ID 并在他们的一位朋友的墙上找到该 ID 发布的帖子 我更喜欢使用个人 ID 的示例 而不是迭代所有朋友 我认为两个用户很可能都必须向应用程序提供权限才能执行此操作 这
  • 如何使用 phpStorm 从远程服务器删除文件

    所以我已经将远程服务器添加到 phpStrom 中 我可以在那里更改文件 但是 如果我删除文件 它们只会从我的计算机上消失 而不是在服务器上消失 如何使用 phpStorm 从远程服务器删除文件 To manually从远程位置删除文件 使
  • WooCommerce - 谢谢和“我的帐户”查看订单页面上的自定义通知

    在 WooCommerce 上我有一个自定义字段days manufacture对于具有不同 整数 值的每个产品 我还有这个代码 可以在购物车页面上显示一条消息 其中的最高值是 生产天数 add action woocommerce bef
  • 开发中的 Laravel 和视图缓存——无法立即看到变化

    我和一些朋友决定开始一个项目 我们偶然发现了 Laravel 并认为它可能是一个很好的工具 我们开始在本地使用它来开发一些页面 并注意到一些奇怪的事情 当我们用不同的信息更新视图时 大约需要 5 到 10 分钟视图信息才会发生变化 这就像
  • 将变量从 PHP 发送到 Javascript

    我在两个单独的文件中有以下代码 其中一个是 javascript 另一个是 php JavaScript xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if t
  • 将视图加载到变量中

    有什么方法可以将 PHP 文件的内容放入变量中吗 我想做这个 msg this gt load gt view some view 但当我这样做时 msg is NULL 是否可以 有可能的 msg this gt load gt view
  • 合并数组而不丢失键索引

    我有两个数组 Menu Navigation var array public nav top array 100 gt Dashboard 200 gt Sell 300 gt Products 400 gt History 500 gt
  • 如何在 nginx 反向代理后面安全地检测 CakePHP 中的 SSL?

    CakePHP 我见过的所有版本 检查 SERVER HTTPS 查看请求是否是通过 HTTPS 而不是普通 HTTP 发出的 我使用 nginx 作为负载均衡器 后面是 Apache 应用程序服务器 由于 SSL 连接在负载均衡器处终止
  • cURL 错误 (35):错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 无法识别的名称

    我一直在使用以下代码块使用 cURL 从 HTTPS 网站收集数据 q https www example org for example ch curl init curl setopt ch CURLOPT URL q curl set
  • 从 MySQL 返回结果时的数字顺序

    我的数据库表中有以下类型的标题 Topic 1 blah blah Topic 2 blah blah Topic 3 blah blah Topic 10 blah blah Topic 11 blah blah etc 选择查询将始终返
  • 干预/图像上传错误{{图像源不可读}}

    我正在尝试添加个人资料图片上传拉拉维尔 5 1 我用的是Intervention Image打包但当我尝试上传图像时出现此错误 AbstractDecoder php 第 302 行中的 NotReadableException 图像源不可
  • Netbeans (PHP) 中的变量类型提示

    只是好奇 Netbeans 中是否有一种方法可以为常规变量提供类型提示 以便智能感知能够识别它 我知道你可以对类属性 函数参数 返回类型等执行此操作 但我不知道如何对常规变量执行此操作 当您有一个可以返回不同对象类型 如服务定位器 的方法时
  • SESSION 中存储的数组后面出现数字

    我正在对存储在会话变量上的数组执行 print r 由于某种未知的原因 它在数组打印后添加了一个数字 Example Array 0 gt 868 userid gt 868 1 如果我直接在函数本身中执行 print r 并且在变量存储在
  • 使用 AJAX 来回发送信息

    使用 post 你可以向服务器发送信息 但是当你需要从服务器接收信息时怎么办呢 信息如何从可以由 php 变量保存的方式变为可以由 javascript 变量保存的方式 反之亦然 这与您的问题更相关 http docs jquery com
  • PDO 多查询“SQLSTATE[HY000]:一般错误”

    我仍在学习 PDO 所以我可能会错过一些东西 但基本上我正在尝试将一行插入表中 然后选择生成的 id 我不确定它是否喜欢一个 pdo 语句中的两个查询 这是我用来执行 SQL 的代码 public function ExecuteQuery
  • 在 Slim Framework 3 中访问课堂上的应用程序

    当路由位于与 index php 不同的类中时 我无法理解如何访问 Slim 的实例 当使用 Slim Framework 2 时 我总是使用以下内容 但它在 Slim 3 中不起作用 this gt app Slim Slim getIn
  • 重复密码在 Yii2 中不起作用

    我在模型中编写的规则如下 public password repeat inheritdoc public function rules return password required password string min gt 6 p
  • 逻辑编程帮助

    A if infos 空和inputs empty 删除 B if infos空和inputs 空的 添加 C if infos 空和inputs 等于信息 添加 我们可以有这样的 if B it s the most common ope
  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML

随机推荐

  • 使用PyInstaller编译python程序后如何输入参数

    After import sys I use sys argv获取输入参数 但是当我用PyInstaller编译我的程序后 exe程序将不接受我的输入 相反 它使用我为程序设置的默认值 如果我运行它python this script py
  • django_cms ImproperlyConfigured:导入中间件 cms.middleware.media 时出错

    我正在将一个使用 django cms 的应用程序从一台一切正常的服务器移动到另一台服务器 并在过去 4 小时内尝试查找此错误的原因 非常欢迎提出建议 mod wsgi pid 21972 Exception occurred within
  • .NET 4.5 WebForms:我(仍然)真的必须在 FormView 中指定所有 3 个模板吗?

    研究 ASP NET 4 5 WebForms 中新的强类型 模型绑定方法 In 斯科特 汉塞尔曼的例子 http www hanselman com blog OneASPNETSneakPeekElegantWebFormsAndSno
  • 在 iOS 中运行 UIAutomation 时模拟器超时问题

    我正在运行 UIAutomation 脚本 有时脚本会成功执行 而有时会崩溃说 模拟器会话超时 并且此消息的间隔时间也不同 如果我在执行脚本时有 for 循环 那么有些它会执行三次 有时直到 10 次迭代 有时甚至直到第 25 次迭代 并且
  • 将反应测试库与故事镜头一起使用?

    是否可以将反应测试库与故事书故事镜头插件一起使用 我想对不使用酶的反应成分进行一些测试 对你来说可能有点晚了 但我只是在研究这个确切的问题 这是我想出的配置 它似乎对我有用 import initStoryshots from storyb
  • 部署在 Kubernetes 仪表板中不可见

    我创建了这样的部署 kubectl run my app image ecr us east 1 amazonaws com my app v1 l name my app replicas 1 现在我进入 Kubernetes 仪表板 h
  • 如何在 Windows 10 UWP 应用程序中使用 mysql

    我正在尝试将 mysql 与 Windows 10 UWP 应用程序一起使用 我到处都被告知要下载连接器 NET并引用Assemblies rt MySql Data RT dll 然而 在下载了 mysql 网站上可用的每个连接器后 我无
  • 有谁知道ShellHook消息HSHELL_RUDEAPPACTIVATED是什么意思?

    我正在编写建立 shell 挂钩来获取 shell 事件的应用程序 如果重要的话 我正在使用 C 我正在使用这个例子 http msbob spaces live com blog cns DAFD19BC5D669D8F 132 entr
  • Pandas:在数据框中存储数据框

    我对 Pandas 相当陌生 目前在尝试在 Dataframe 中插入 Dataframe 时遇到了问题 我想做的事 我有多个模拟和相应的信号文件 我希望将它们全部放在一个大的 DataFrame 中 所以我想要一个 DataFrame 其
  • java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:1

    我正在学习Java 我不知道这里出了什么问题 为什么会发生这个错误 我没有看到任何错误 直到我在第二个 for 循环之前写下 count 0 行之前 这实际上是有效的 这就是错误 java lang StringIndexOutOfBoun
  • 在 SOLR 中动态创建新的核心目录

    我正在使用 solr 1 4 1 构建分布式搜索引擎 但我不想只使用一个索引文件 我想在我的 java 代码中动态创建新的核心 索引 目录 我发现下面的其余 API 可以使用以下方法创建新核心EXISTING核心目录 http wiki a
  • Java EE 组件之间的通知

    我有一个设计问题 我的应用程序有多个 Java EE 组件 简单来说 一个充当服务提供者 非 UI 其他充当消费者 UI webapp 消费者在启动期间从服务提供者获取配置数据 这基本上是从数据库读取数据 并将其存储在缓存中 缓存会在定期时
  • 如果子字符串重叠,如何计算Python中子字符串的数量?

    The count 函数返回子字符串在字符串中出现的次数 但在字符串重叠的情况下会失败 假设我的输入是 我想找出多少次 出现在字符串中 mystr input happy mystr count sad mystr count print
  • LDAP DN/RDN 长度限制

    有谁知道 win08r2 或 08 上 DN 或 RDN 的最大长度是多少 我从网上搜了一下 有人说 RDN length max tree search DN length lt is it true 因为我无法验证 ref http t
  • heroku .css 上的 Rails 3.1 部署不是预编译错误

    Update 我收到此错误是因为我有一个 public css 和 public js 文件 该文件未与其余 css 和 js 文件一起编译 解决方案是将这一行添加到 Production rb 文件中 Precompile additio
  • PayPal mc_gross 格式号码?

    我正在编写 php iPN 脚本 但我被 mc gross 检查困住了 我以这种格式 不是数字格式 将金额存储在数据库中 1000 100 10000 paypal 如何将 mc gross 值发回给我 以数字格式 我的意思是这样的 1 0
  • IE 11 中的 Bootstrap 4 对齐

    我正在将我的网站之一从 AngularJs Bootstrap 3 转换为 Angular 6 Bootstrap 在 Chrome 和 Firefox 以及 edige 中 我的模式如下所示 然而 在IE11中 代码 div class
  • 为什么C++中找不到向量

    还有什么选择 我应该自己写吗 有的是std find 算法 它在迭代器范围内执行线性搜索 例如 std vector
  • 设置 JFree Chart 图例边框颜色

    问题已在标题中阐述 细节 我在类主题中有代码 用于为图例框架的边框设置特定的非默认颜色 LegendTitle legend jFreeChart getLegend legend setWidth 100 之后我需要设置图例边框的颜色 但
  • PHP 是否有“命名参数”,以便可以省略前面的参数并可以写入后面的参数? [复制]

    这个问题在这里已经有答案了 在 PHP 中 您可以调用不传入任何参数的函数 只要参数具有如下所示的默认值 function test t1 test1 t2 test2 t3 test3 echo t1 t2 t3 test 但是 假设我希