php内置函数分析之array_sum()
2024-09-05 21:02:54
PHP_FUNCTION(array_sum)
{
zval *input,
*entry,
entry_n; if (zend_parse_parameters(ZEND_NUM_ARGS(), "a", &input) == FAILURE) {
return;
} // 初始化返回值
ZVAL_LONG(return_value, ); // 循环取数组元素(entry)
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(input), entry) {
// 跳过数组和对象
if (Z_TYPE_P(entry) == IS_ARRAY || Z_TYPE_P(entry) == IS_OBJECT) {
continue;
}
// 数组元素复制
ZVAL_COPY(&entry_n, entry);
// 数组元素转为数字
convert_scalar_to_number(&entry_n);
// 数组元素累加
fast_add_function(return_value, return_value, &entry_n);
} ZEND_HASH_FOREACH_END();
}
最新文章
- 阿里云本地FTP怎么连接?通用win7,win8,win8.1,win10
- Linux工具快速教程
- iOS 开发:CoCoapods的使用和安装
- 后台启动weblogic成功后,在web浏览器上无法访问
- 转:AJAX中xhr对象详解
- C语言出错问题汇总【需要更新】
- eclise 部署web工程报 There are no resources that can be added or removed from the server.
- C# HttpWebRequest 绝技 根据URL地址获取网页信息
- MYSQL 表分区的 3 方法
- .Net Core 实践 - 如何在控制台应用(.Net Core)使用appsettings.json配置
- vue axios使用方法
- java时间处理,获取当前时间的小时,天,本周周几,本周周一的日期,本月一号的日期
- 阿里云ossfs配置
- 仿QQ菜单栏:消息,电话菜单
- Unable to execute dex: Multiple dex files defineLcom/google/gson/JsonDeserializer;
- Struts2中.properties文件放置路径(classpath)
- 在Asp.net core返回PushStream
- 主成分分析(PCA)及其在R里的实现
- javaweb基础(27)_jsp标签库实例
- 单片机的C语言中位操作用法2