在 PHP 函数中使用函数结果作为默认参数

2023-12-09

我正在编写一个需要一些日期单位的函数,例如“小时”,“分钟”和“秒”,但我想制作这些选项,并将服务器的当前时间用作默认值。

在 PHP 中mktime(..)我注意到他们使用函数调用来获取默认参数值 - 但当我尝试这样做时,它不起作用:

PHP 的看起来像这样:mktime([int $hour = date("H")[,int $minute= date("i")[,etc...

我尝试将其复制到我的函数中,完全相同(只是在我让它工作之前没有那么多参数):function myFunc([int $hour = date("H")[,int $minute= date("i")]]) {

PHP 告诉我使用这段代码Parse error: syntax error, unexpected '[', expecting '&' or T_VARIABLE in ...

我尝试过搜索这个 - 但没有找到任何关于该主题的内容。我的问题是,我可以这样做吗?或者我必须指定 null 作为参数,然后在函数内检查它们,如下所示:

function myFunc($hour=null,etc...) {
  if($hour==null){$hour=date("H");}
  //etc...
}

至于为什么我想知道这一点而不是使用我自己提供的解决方案的理由 - 我仍在学习 PHP 并希望学习最佳实践。


默认函数参数应该是编译时常量。或者在 PHP 的情况下,PHP 解释器在执行脚本之前应该知道该值。

因此你不能直接使用函数结果作为默认参数

因此,唯一的方法是您已经知道的 null 默认参数方法。

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

在 PHP 函数中使用函数结果作为默认参数 的相关文章

  • 如何使用 PHP 代码从服务器下载文件

    如何从任何服务器下载 PHP 代码文件 您可以使用 Curl 使用 php 从网络下载文件 function curl get file contents URL c curl init curl setopt c CURLOPT RETU
  • Laravel Eloquent ORM 返回 stdClass 而不是实际模型

    我正在做 mymodel MyModel where url domain gt first 这返回了一个 MyModel 对象 现在 不知何故 它返回了一个 stdClass 发生了什么 laravel 有更新吗 我改变了什么吗 Than
  • 如何使用 phpStorm 从远程服务器删除文件

    所以我已经将远程服务器添加到 phpStrom 中 我可以在那里更改文件 但是 如果我删除文件 它们只会从我的计算机上消失 而不是在服务器上消失 如何使用 phpStorm 从远程服务器删除文件 To manually从远程位置删除文件 使
  • 使用 PDO 的基于 PHP 类的用户系统 - 调用非对象上的成员函数prepare()

    我做了相当多的研究 故障排除和搜索 试图解决我的问题 但没有运气 所以这是错误 调用非对象上的成员函数prepare 生成此错误的代码位于我的用户 Auth 类中 如下所示 this gt dbManager gt db gt prepar
  • 在高负载站点中使用 PHP 的策略

    在你回答这个问题之前 我从未开发过任何足够流行的东西来达到高服务器负载 把我当作 叹气 一个刚刚登陆地球的外星人 尽管我了解 PHP 和一些优化技术 我正在开发一个工具PHP如果效果好的话 可以吸引相当多的用户 然而 虽然我完全有能力开发该
  • 使用 Javascript 编辑和保存用户 HTML - 安全性如何?

    例如我有一个Javascript 支持的表单创建工具 您可以使用链接添加元素的 html 块 如输入字段 并使用 TinyMCE 来编辑文本 这些是通过自动保存功能保存的 该功能在特定事件的后台执行 AJAX 调用 被调用的保存函数负责数据
  • 安装失败:无法在 ubuntu 上的 WordPress nginx 中创建目录

    我在本教程的帮助下设置了 WordPress 如何在 ubuntu 18 04 上使用 LEMP 安装 WordPress https www digitalocean com community tutorials how to inst
  • 如何在 jQuery.knob 中添加值后缀

    我有问题jQuery knob http anthonyterrien com knob 我需要添加一个Sufixx至旋钮中的值 例如 我需要一个后缀 数值后 我只是输入数值字段 它会显示 但此时旋钮不会显示状态 它不会显示旋钮状态 但后缀
  • PHP 7.0和MySQL启动错误“未定义符号:mysqlnd_allocator in Unknown”

    即使在运行时 在自定义编译版本的 PHP7 上也会收到此警告php v 尝试了发布的所有解决方案 什么可能导致这种情况 PHP 警告 PHP 启动 无法加载动态库 usr lib php 20151012 pdo mysql so usr
  • 发送蓝色附件

    我尝试发送附件 pdf 文件 我收到电子邮件但没有附件 我尝试过使用https github com sendinblue APIv3 php library blob master docs Model SendSmtpEmail mde
  • 类外函数

    我只是想告诉你 我是 OOP 的新手 这对我来说相当困难 但这是我的代码 class functions function safe query string string mysql escape string htmlspecialch
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • 使用 AJAX 来回发送信息

    使用 post 你可以向服务器发送信息 但是当你需要从服务器接收信息时怎么办呢 信息如何从可以由 php 变量保存的方式变为可以由 javascript 变量保存的方式 反之亦然 这与您的问题更相关 http docs jquery com
  • Symfony - 自定义验证器和依赖注入

    我正在尝试对自定义验证器使用依赖项注入 以便能够使用实体管理器 我遵循 Symfony 示例 依赖注入 http symfony com doc current cookbook validation custom constraint h
  • 从 https 切换到 http 时违反 RewriteRule

    我写了很多重写规则 in my htaccess文件 但是当我从https to http页面 它不遵守这些规则 NOTE 本地主机上一切正常 问题出在服务器上 UPDATE 这是我的website http www charityrumm
  • PHP fscanf 与 fgets

    我可以使用读取一行中的整个字符串fgets but fscanf 没有这样做 根据PHP手册 fscanf 根据格式解析文件的输入 功能fscanf 类似于sscanf 但它从与句柄关联的文件中获取输入 并根据指定的格式解释输入 这在文档中
  • 创建验证电子邮件的机制

    我的网站上已经有一个高级用户登录 注册系统 colemansystems psm2 co uk http colemansystems psm2 co uk 但是 我希望向新用户发送一封电子邮件以验证他们的电子邮件地址 如果他们没有点击该链
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • PHP - While/Else 错误? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有以下
  • 通过jquery ajax()和serialize()提交html表单

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

随机推荐

  • 位移位、屏蔽还是位域结构?

    我是使用位的新手 我正在尝试使用现有协议 该协议可以发送三种不同类型的消息 类型1是16位结构 struct digital unsigned int type 2 unsigned int highlow 1 unsigned int s
  • 如何将aidl文件添加到Android studio(来自应用内计费示例)

    我目前正在将 Eclipse 应用程序迁移到 Android Studio 此应用程序使用应用程序内计费 我的主要问题是编译项目和aidl文件 我猜你们都使用这个文件 我收到此错误消息 Gradle error cannot find sy
  • 将两个ScrollView连接在一起

    这是我一直在解决的一个棘手的 iPhone 问题 我在页面上有三个 UIScrollView 一个仅水平滚动 一个仅垂直滚动 一个既水平又垂直滚动 我想将视图锁定在一起 以便水平滚动视图的水平位置与主滚动视图的水平位置匹配 垂直滚动视图同样
  • javax 与 java 包

    javax 包背后的基本原理是什么 java 和 javax 分别包含哪些内容 我知道很多企业包都在 javax 中 但 Swing 新的日期和时间 api JSR 310 以及其他 J2SE 包也是如此 起初javax旨在用于扩展 有时东
  • 将 HTML 从 JEditorPane 复制到外部应用程序时出现问题

    我在将 HTML 从 JEditorPane 复制到系统剪贴板然后粘贴到其他应用程序时遇到问题 OpenOffice 3 2 提示 请求的剪贴板格式不可用 Thunderbird 3 13 对粘贴不执行任何操作 Firefox 3 6 9
  • 为什么onStart没有被调用?

    我正在尝试实现一个非常简单的服务示例 用户通过 EditText 输入值并单击计算按钮 计算按钮会触发一个服务 该服务执行一些计算并将结果发送回另一个 EditText 框 如果我使用没有绑定的简单服务 则在执行计算之前会显示结果 因此我想
  • 逐行读取图像像素

    我一直在开发一个项目 该项目需要我的代码获取图像的像素数据并重建它 以另一种形式 但是当我尝试使用像素数据创建图像时 结果发现所有像素都在同一行 这是我的代码 pixels image getdata img array np array
  • 你能让计数器不写出“Counter”吗?

    所以当我打印计数器时 from collections import Counter 到一个文件我总是得到这个文字Counter Foo 12 有没有办法让计数器不那么字面地写出来 所以它会写 Foo 12 代替Counter Foo 12
  • mean.js 应用程序中的 ngDialog

    我用 MeanJS 创建了一个网络应用程序 我想在应用程序中使用 ngDialog 但不确定如何以及在何处添加 ngDialog js 在应用程序中 我尝试将 ngDialog 注入控制器中 如下所示 但每次都会出现未知提供者错误 angu
  • script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录

    这是我收到的错误消息 gradlew clean assembleRelease Users bhanukaisuru jenkins workspace OrelGo tmp durable b74adbad script sh 第 1
  • 每当我尝试在类方法上使用 @jit 时,我都会收到 IndentationError: Unexpected indent

    我已经尝试了好几天了 jit致力于加快我的代码速度 最后我遇到了这个 描述了添加 jit对象方法 http williamjshipman wordpress com 2013 12 24 learning python eight way
  • 将数组元素向左旋转(将第一个元素移动到最后一个并重新索引)

    在 PHP 中是否可以轻松 旋转 数组 像这样 1 2 3 4 gt 2 3 4 1 是否有某种内置的 PHP 函数可以实现这一点 numbers array 1 2 3 4 array push numbers array shift n
  • Scrapy抓取所有站点地图链接

    我想抓取固定站点的 sitemap xml 中存在的所有链接 我遇到过 Scrapy 的网站地图蜘蛛 到目前为止 我已经提取了站点地图中的所有网址 现在我想爬行站点地图的每个链接 任何帮助都会非常有用 到目前为止的代码是 class MyS
  • 在没有管理员权限的情况下访问regedit [关闭]

    Closed 这个问题是无关 目前不接受答案 我想知道我是否可以在没有管理员权限的情况下运行程序 我正在尝试从 System32 运行程序 regedit 我也尝试过将其复制到 USB 上并从那里运行它 但两者都不起作用 有人可以帮我使用
  • 无法将主机名“postgres”翻译为地址:名称或服务未知

    我正在尝试运行一个依赖于 postgresql 数据库的服务 但我不知道如何将两者链接在一起 连接 我 依赖 数据库 这似乎意味着我应该能够使用服务名称作为数据库主机名 即due database 但每当我这样做时 我都会收到错误 coul
  • 在数组中加载多个模型 - codeigniter 框架

  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序 - nltk

    所以 我不断收到此错误 OSError WinError 193 1 is not a valid Win32 application 我认为这是因为我的环境变量 所以 我修复了这个问题 但仍然出现错误 我目前很茫然 这是完整的错误输出 T
  • iPad/iPhone 浏览器嗅探器,带有 mod_rewrite 和重定向功能; “重定向太多”

    我正在尝试为 Mobile Safari 版本创建一个浏览器嗅探器 问题是重定向显然会创建一个无限循环 我想知道是否有办法做到这一点 http mydomain com 或任何其他requets uri 301 gt http mydoma
  • UTC 遵守夏令时吗?

    我正在尝试编写一个脚本 将任何时区转换为UTC并反转 但从一些地方我开始知道 在将任何时区转换为UTC无论是否考虑夏令时 它都会给出相同的结果UTC时间 例如 如果我尝试转换这个 mytime 2011 03 31 05 06 00 000
  • 在 PHP 函数中使用函数结果作为默认参数

    我正在编写一个需要一些日期单位的函数 例如 小时 分钟 和 秒 但我想制作这些选项 并将服务器的当前时间用作默认值 在 PHP 中mktime 我注意到他们使用函数调用来获取默认参数值 但当我尝试这样做时 它不起作用 PHP 的看起来像这样