php 合并数组 一个为空,PHP:合并完整数组与空数组或首先检查isset()?

我有一些函数应该返回一个数组,让它与另一个数组合并.

但是,有时候没有什么可以回归的.

这里最好的情况是什么?

>返回一个空数组并将其与完整的OR合并

>返回null,将返回值存储在变量中,检查该变量,然后根据需要将其合并.

我问这个是因为有时最短的路线并不是最快的,我真的不知道array_merge()在幕后做了什么.

解决方法:

返回空数组.比较两个选项的复杂性

>返回一个空数组并将其与完整的OR合并

>返回null,将返回值存储在变量中,检查该变量,然后根据需要将其合并.

当你编写一个函数时,除了你以外的人将会使用它(这包括你从6个月前开始不知道你当前在做什么).如果你返回null,那么使用你的函数的人需要知道它可能不会返回一个数组,所以只要他们使用你的函数,就需要将它们的变量包装在很多is_array或is_set检查中.这导致更难以维护代码,或者在返回数组时应用程序/系统工作时的错误,但是返回null时则不然.如果你的函数总是返回一个数组,人们可以安全地将它传递给期望数组的函数. (这就是为什么一些强类型执行的拥护者讨厌PHP.在像Java这样的语言中,这并不高兴,因为函数返回了特定类型的东西)

你对性能的关注是值得称赞的,但总的来说,内置的数组操作函数已经很好地调整,并且只是在一小部分时间内成为瓶颈.在日常代码运行中,检查变量值和合并零元素数组的性能优势可以忽略不计.

使用更干净的API,基准测试,然后优化您开始看到性能问题的特定情况.

标签:php,arrays,function,merge,performance

来源: https://codeday.me/bug/20190607/1191765.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值