PHPackages                             pudongping/smart-assist - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pudongping/smart-assist

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pudongping/smart-assist
=======================

PHP utility functions.

1.0.1(2y ago)01.1k1MITPHPPHP &gt;=7.2

Since Jun 29Pushed 2y ago1 watchersCompare

[ Source](https://github.com/pudongping/smart-assist)[ Packagist](https://packagist.org/packages/pudongping/smart-assist)[ RSS](/packages/pudongping-smart-assist/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (2)Versions (3)Used By (1)

smart-assist
============

[](#smart-assist)

收录一些高频 php 助手函数，提高工作效率。

### [ArrHelper](./src/ArrHelper.php)

[](#arrhelper)

调用方式功能`ArrHelper::same(array $arr1, array $arr2, bool $assoc = false): bool`检查两个数组元素是否相同。`ArrHelper::sortByField(array $array, string $key, int $sort = SORT_DESC, int $sortRule = SORT_NUMERIC): array`对数组根据指定字段进行排序。`ArrHelper::groupByField(array $array, string $key): array`对数组中指定字段的值进行分组。`ArrHelper::addDataToNestedArray(array $data, array $extraData): array`对二维数组增加同一项数据。`ArrHelper::minIntElement(array $data, string $key, bool $firstAs = true): array`找到二维数组中指定索引名值最小的元素。`ArrHelper::maxIntElement(array $data, string $key, bool $firstAs = true): array`找到二维数组中指定索引名值最大的元素。`ArrHelper::toTree(array $arr, string $id = 'id', string $pid = 'pid', string $children = 'children'): array`将二维数组转化成树型结构### [CipherHelper](./src/CipherHelper.php)

[](#cipherhelper)

调用方式功能`CipherHelper::AESCBCEncrypt($plaintext, string $key, string $iv = ''): string`aes cbc 加密。`CipherHelper::AESCBCDecrypt(string $encrypted, string $key, string $iv = ''): array`aes cbc 解密。### [DBHelper](./src/DBHelper.php)

[](#dbhelper)

调用方式功能`DBHelper::batchUpdateCaseWhen(string $tableName, array $where, array $needUpdateFields): array`生成批量更新的 sql 语句。`DBHelper::upsert(string $tableName, array $data, array $columns): array`生成批量更新或写入的 sql 语句。### [FileHelper](./src/FileHelper.php)

[](#filehelper)

调用方式功能`FileHelper::humanFileSize(int $bytes, int $decimals = 2): string`返回可读性更好的文件大小。`FileHelper::compressToZip(string $source, string $zipFile): bool`压缩文件或目录为zip格式`FileHelper::extractZipToDir(string $zipFile, string $toDir): bool`解压zip文件，包含多级目录和任意文件`FileHelper::copyDir(string $source, string $destination): bool`复制目录### [IDCardHelper](./src/IDCardHelper.php)

[](#idcardhelper)

调用方式功能`IDCardHelper::isChinaIDCardDate(string $year, string $month, string $day): bool`验证出生日期是否合法。`IDCardHelper::getValidateCode(string $id): string`根据身份证号前17位，算出识别码。`IDCardHelper::isChinaIDCard(string $id, bool $ban15 = true): bool`验证身份证号。检查给定的身份证号是否合法。`IDCardHelper::getChinaIDCardSex(string $id): int`根据身份证号，自动返回对应的性别。`IDCardHelper::getConstellationByChinaIDCard(string $id): string`根据身份证号码，返回对应的星座。`IDCardHelper::getChineseZodiacByChinaIDCard(string $id): string`根据身份证号码，返回对应的生肖。### [StrHelper](./src/StrHelper.php)

[](#strhelper)

调用方式功能`StrHelper::genRandomStr(int $len = 16, int $type = 0): string`生成随机字符串。`StrHelper::genRandomChineseWords(int $num = 16): string`生成常用随机中文`StrHelper::genUniqueNum(bool $isBigint = false): string`基于日期和随机数生成具有唯一性的数字字符串`StrHelper::base64UrlEncode(string $input): string`Base64编码，使用URL和文件名安全字符集。`StrHelper::base64UrlDecode(string $input)`Base64解码，使用URL和文件名安全字符集。`StrHelper::hide(string $string, int $start = 0, int $length = 0, string $re = '*'): string`脱敏函数。将一个字符串部分字符用指定的替代符隐藏，返回处理后的字符串。`StrHelper::FullOrHalfWidthTrans(string $str, bool $isFullToHalf = false)`字符串全角和半角之间的转换。### [TimeHelper](./src/TimeHelper.php)

[](#timehelper)

MethodDescription`TimeHelper::Milliseconds(): int`获取当前时间的毫秒数。`TimeHelper::Microseconds(): int`获取当前时间的微秒数。`TimeHelper::Nanoseconds(): int`获取当前时间的纳秒数。`TimeHelper::humanTime(int $seconds): string`返回可读性更好的时间表示。

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~16 days

Total

2

Last Release

1085d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4f2a48f55b677f6e681bc120f7896d864165c8b11924f5e4d1aa7c23ff7c4813?d=identicon)[pudongping](/maintainers/pudongping)

---

Top Contributors

[![pudongping](https://avatars.githubusercontent.com/u/55131195?v=4)](https://github.com/pudongping "pudongping (4 commits)")

---

Tags

phptoolsutils

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pudongping-smart-assist/health.svg)

```
[![Health](https://phpackages.com/badges/pudongping-smart-assist/health.svg)](https://phpackages.com/packages/pudongping-smart-assist)
```

###  Alternatives

[dereuromark/cakephp-tools

A CakePHP plugin containing lots of useful and reusable tools

3361.0M51](/packages/dereuromark-cakephp-tools)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
