承接 kachnitel/math-utils 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kachnitel/math-utils

最新稳定版本:1.0.0

Composer 安装命令:

composer require kachnitel/math-utils

包简介

PHP library for mathematical operations including median, average, sum, and formula processing

README 文档

README

PHP library for mathematical operations including median, average, sum, and formula processing.

Features

  • Basic Statistical Functions: median, average, sum
  • Formula Processor: Process complex mathematical formulas with nested functions and parameters
  • Secure Evaluation: Protected against code injection attacks
  • Pure PHP: No dependencies (except PHPUnit for development)

Installation

composer require kachnitel/math-utils

Usage

Basic Operations

use Kachnitel\MathUtils\Math;

// Calculate median
$median = Math::median([1, 2, 3, 4, 5]); // 3

// Calculate average
$average = Math::average([1, 2, 3, 4, 5]); // 3

// Calculate sum
$sum = Math::sum([1, 2, 3, 4, 5]); // 15

Formula Processing

The formula processor supports nested functions, parameters, and basic arithmetic operations (+, -, *, /).

use Kachnitel\MathUtils\Math;

// Simple formula
$result = Math::process('1 + 1', []); // 2

// Formula with parameters
$result = Math::process('$0 * $1', [2, 3]); // 6

// Complex nested formula
$result = Math::process(
    'average([average([sum($0), sum($1)]),median($2)]) * 2',
    [
        [1, 2, 3, 4],    // $0
        [5, 6, 7, 8],    // $1
        [10, 11, 12]     // $2
    ]
); // Calculated result

// Track calculation steps
$steps = [];
$result = Math::process('average([sum($0), sum($1)])', [[1, 2], [3, 4]], $steps);
// $steps will contain each step of the calculation

Supported Functions in Formulas

  • sum(array) - Sum of array elements
  • average(array) - Average of array elements
  • median(array) - Median of array elements

Security

The formula processor is protected against code injection. All formulas are validated before evaluation:

// This will throw MathException
Math::process('1 + 1; echo "injection";', []);

Requirements

  • PHP 8.2 or higher

License

MIT License - see LICENSE file for details

统计信息

  • 总下载量: 175
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固