php - PHP array_column() 可能为空列
问题描述
有没有人知道在不使用 for/foreach 的情况下从中获得“5”结果的方法?
$array = [
['number1' => 1],
['number1' => 1],
['number1' => 1],
['number2' => 2],
]
echo array_sum( array_column( $array, 'number1' ?? 'number2' ) );
我理解为什么我的示例不起作用(字符串'number1'
永远不会为空)。
如果没有,for 或 foreach 的性能会比使用 array_column 低多少?
解决方案
如果您想始终从内部数组中获取第一项而不考虑其键,则可以映射reset
到模仿array_column
。
echo array_sum(array_map('reset', $array));
array_sum
,正如其他人所建议的那样,它也可以工作,但是如果任何内部数组有更多的值不会给你想要的结果。
推荐阅读
- c - main 函数不调用 collatzSequencer 函数
- pdf - 将 pdf、doc、docx 文档分割成段落级文本
- c# - Google Sheet api v4 动态工作表范围
- python - 无法发送数据包(Errno 9:错误的文件描述符)
- c++ - 在 Bash 脚本中处理来自子进程的信号
- android - 如何在 Android Studio 中使用系统自定义字体
- javascript - Node.js nodemailer - 等待新的承诺解决错误
- c# - 在 C# 中的字符序列之前提取十进制/整数值
- python - 为什么 Python 中的一些引用是链接的,而另一些则不是?
- unity3d - 创建跨平台动画视频渲染应用程序