当有很多要发送的值时,将值传递给函数的最佳方法是什么?

2024-02-28

当您必须将许多值传递给函数并且其中一些值可能是可选的时,定义方法签名的最佳方法是什么。将来,我可能必须传递更多变量或减去一些传递给函数的值。

例如:(电话和地址可选)

function addInfo( $name, $dob, $phone='', $address='' ) {
       // Store data
}

addInfo( 'username', '01-01-2000', '1111111' ); // address is not given

OR

function addInfo( $info ) {
    // Store data
}

$info = array( 'name'=>'username', 
               'dob'=>'01-01-2000', 
               'phone'=>'1111111', 
               'address'=>'' );
addInfo( $info );

马丁建议在“干净的代码 https://rads.stackoverflow.com/amzn/click/com/0132350882”,你应该将参数的数量限制在最多 2-3 个,以使代码易于理解。因此最好将它们包装成一个对象并将该对象作为参数传递。这绝对是更好的选择。

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

当有很多要发送的值时,将值传递给函数的最佳方法是什么? 的相关文章

  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • PHP - Filter_var 替代方案?

    我构建了一个 php 脚本来输出以表单形式发布的数据 但遇到了问题 网站将运行的服务器运行 PHP 5 1 6 此版本的 PHP 不支持 filter var 我需要知道短期内的替代方案 最好是昨天 但在 Google 或 Stack Ov
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • 从 octobercms 中的非 ajax 表单获取输入值

    我正在尝试构建一个简单的搜索功能 下面是我的搜索表格
  • zip 文件的校验和

    我目前正在开发一个工具 它上传一组文件 然后使用 md5 校验和将文件与上一批上传的文件进行比较 并告诉您哪些文件已更改 对于常规文件 这工作正常 但某些上传的文件是 zip 存档 即使其中的文件相同 它们几乎总是会发生变化 有没有一种方法
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • 我可以使用子接口重新编译公共 API 并保持二进制兼容性吗?

    我有一个公共 API 在多个项目中多次使用 public interface Process
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入

随机推荐

  • 使用 iCloud Apple ID 匿名登录应用程序

    根据这个CloudKit 概述 https developer apple com icloud index html CloudKit 还使您的用户能够使用其 iCloud Apple ID 匿名登录您的应用程序 而无需共享其个人信息 我
  • mysql 区分大小写吗?

    I wrote select from mytable 在我的 Windows 上的 ASP net 应用程序中 它运行良好 在 Linux 上它抱怨我使用mytable代替MyTable 在处理表名时 如何将 Windows 上的 MyS
  • 用于分配用户角色的首选数据库设计方法? (帽子与团体)

    我有一个中等规模的 MySQL 数据库 其中有一个主要的 人员 表 其中包含与剧院和戏剧学校相关的每个人的基本联系信息 我负责维护和开发许多 Web 应用程序 有些人只是联系人 也就是说 他们的 人 表记录是我们需要存储的有关他们的所有信息
  • 如何在 mod_rewrite 中设置可选参数

    我在一个新项目中 正在设计 URL 结构 问题是我希望 URL 看起来像这样 category 23 keyword 5 正常页面是 search php q keyword cat 23 page 5所以我的问题是 cat and pag
  • 不同类别因素的欧几里得距离按组迭代

    更新 Rui 建议的答案很棒并且可以正常工作 然而 当我在大约 700 万个观察值 我的实际数据集 上运行它时 R 陷入了计算块 我使用的是具有 64GB RAM 的机器 任何其他解决方案将不胜感激 我有一个专利数据框 其中包含公司 申请年
  • 首先按 null 排序,然后按其他变量排序

    这是我现在的代码 SELECT id number FROM Media WHERE user 10 ORDER BY id number 但我希望它看起来像 SELECT id number FROM Media WHERE user 1
  • 如何隐藏 F# 中的方法?

    我目前正在 F 中实现 Spec 框架 我想隐藏我的 Equals GetHashCode 等方法should类型 以便 API 不会因这些而混乱 我知道在 C 中 这是通过让类实现如下接口来完成的 using System using S
  • 在 Nuget 包中公开 Azure Functions

    我们希望在我们的不止一种产品中实现可重用的功能 我想做的是 创建一个包含一个或多个 Azure Functions 附加了 FunctionNameAttribute 的静态方法 的 C 项目 将此项目转为NuGet包 在 Azure Fu
  • 从前序和后序列表重建树

    考虑这样一种情况 您有两个节点列表 您只知道其中一个是某棵树的前序遍历的表示 另一个是同一棵树的后序遍历的表示 我相信可以从这两个列表精确地重建树 并且我认为我有一个算法可以做到这一点 但尚未证明 由于这将是硕士项目的一部分 我需要绝对确定
  • Node Mongo Native - 如何判断游标何时耗尽?

    的文档节点 mongodb nativecollection find 功能 https github com mongodb node mongodb native find说它创建一个游标对象 该对象延迟返回匹配的文档 此外 游标的基本
  • tkinter 小部件的 cnf 参数

    所以 我正在研究代码here http svn python org projects python branches pep 0384 Lib tkinter init py在每个班级 几乎 我都看到一个争论cnf 到构造函数 但除非我错
  • org-mode取消\hypersetup后有什么影响?

    我用自己的序言在 org 模式下制作 pdf 但生成的 PDF 或 tex 文件始终显示以下信息 format hypersetup n pdfkeywords s n pdfsubject s n pdfcreator s n org e
  • 如何创建具有延迟的可观察对象

    Question 出于测试目的 我正在创建Observable替换实际 http 调用返回的可观察对象的对象Http 我的可观察对象是使用以下代码创建的 fakeObservable Observable create obs gt obs
  • 什么是 gitlab runner

    我想我从根本上错过了一些东西 我是 CI CD 新手 正在尝试使用 gitlab 建立我的第一个管道 该项目是一个预先存在的 PHP 项目 我还不想清理它 目前我已经将整个东西推入了 docker 容器 并且它与谷歌云的 mysql 数据库
  • 模拟跨上下文连接--LINQ/C#

    问题是这样的 我有 2 个数据上下文 我想对其进行联接 现在我知道 LINQ 不允许从一个上下文连接到另一个上下文 并且我知道有 2 种可能的解决方案是创建单个数据上下文或有 2 个单独的查询 这就是我现在正在做的事情 然而我想做的是 模拟
  • 如何管理 git 中的重叠存储库,包括同一目录中的文件?

    我有一个复杂的存储库 有时代码段之间的逻辑边界跨越目录边界 有时目录 X 中的单个文件确实需要与目录 Y 中的文件一起使用 例如 假设我有一个如下所示的中央存储库 a foo a bar b baz1 b baz2 我希望我的本地存储库最终
  • 如何通过 Curl 和 PHP 发送 SOAP XML?

    这已经困扰我好几天了 我正在尝试通过 Curl 发送 SOAP 帖子 但我总是收到 无法连接到主机 错误 但是 我真的不知道如何解决 我有一个 ASP 版本 它可以在相同的 URL 和数据下正常工作 我认为这只是 PHP Curl 的事情
  • AWS Lambda Python 3.7 运行时异常日志记录

    使用 Python 3 7 运行时时引发的未处理异常似乎不会像在 Python 3 6 中那样记录到 CloudWatch 如何在 Python 3 7 中设置记录器来捕获此信息 还发布在 AWS 论坛上 https forums aws
  • pytorch index_put_给出运行时错误:“索引”的导数未实现

    这是后续问题这个问题 https stackoverflow com q 65584330 3337089 我尝试使用index put 如建议的答案 https stackoverflow com a 65584479 3337089 但
  • 当有很多要发送的值时,将值传递给函数的最佳方法是什么?

    当您必须将许多值传递给函数并且其中一些值可能是可选的时 定义方法签名的最佳方法是什么 将来 我可能必须传递更多变量或减去一些传递给函数的值 例如 电话和地址可选 function addInfo name dob phone address