baka / support
baka 支持包。
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-29 05:08:49 UTC
README
Baka Support
PHP 有用代码片段的精选集合。
要求
此包需要 PHP 7.2 或更高版本。
安装
您可以通过 composer 安装此包
composer require baka/support
包将自动注册自己。
📚 数组
all
如果提供的函数对所有数组元素返回 true
,则返回 true
,否则返回 false
。
all([2, 3, 4, 5], function ($item) { return $item > 1; }); // true
any
如果提供的函数至少对一个数组元素返回 true
,则返回 true
,否则返回 false
。
any([1, 2, 3, 4], function ($item) { return $item < 2; }); // true
deepFlatten
深度展开数组。
deepFlatten([1, [2], [[3], 4], 5]); // [1, 2, 3, 4, 5]
drop
返回一个新数组,从左侧移除了 n
个元素。
drop([1, 2, 3]); // [2,3] drop([1, 2, 3], 2); // [3]
findLast
返回提供的函数对最后一个元素返回真值的最后一个元素。
findLast([1, 2, 3, 4], function ($n) { return ($n % 2) === 1; }); // 3
findLastIndex
返回提供的函数对最后一个元素返回真值的最后一个元素的索引。
findLastIndex([1, 2, 3, 4], function ($n) { return ($n % 2) === 1; }); // 2
flatten
将数组扁平化到一维深度。
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
groupBy
基于给定的函数对数组元素进行分组。
groupBy(['one', 'two', 'three'], 'strlen'); // [3 => ['one', 'two'], 5 => ['three']]
hasDuplicates
检查扁平列表是否有重复值。如果存在重复值则返回 true
,否则返回 false
。
hasDuplicates([1, 2, 3, 4, 5, 5]); // true
head
返回列表的头部。
head([1, 2, 3]); // 1
last
返回数组中的最后一个元素。
last([1, 2, 3]); // 3
pluck
检索给定键的所有值。
pluck([ ['product_id' => 'prod-100', 'name' => 'Desk'], ['product_id' => 'prod-200', 'name' => 'Chair'], ], 'name'); // ['Desk', 'Chair']
pull
修改原始数组以过滤掉指定的值。
$items = ['a', 'b', 'c', 'a', 'b', 'c']; pull($items, 'a', 'c'); // $items will be ['b', 'b']
reject
使用给定的回调过滤集合。
reject(['Apple', 'Pear', 'Kiwi', 'Banana'], function ($item) { return strlen($item) > 4; }); // ['Pear', 'Kiwi']
remove
从数组中删除给定函数返回假值的元素。
remove([1, 2, 3, 4], function ($n) { return ($n % 2) === 0; }); // [0 => 1, 2 => 3]
tail
返回数组中除第一个元素之外的所有元素。
tail([1, 2, 3]); // [2, 3]
take
返回一个数组,从开头移除了 n 个元素。
take([1, 2, 3], 5); // [1, 2, 3] take([1, 2, 3, 4, 5], 2); // [1, 2]
without
过滤出数组中具有指定值之一的元素。
without([2, 1, 2, 3], 1, 2); // [3]
orderBy
按键对数组或对象集合进行排序。
orderBy( [ ['id' => 2, 'name' => 'Joy'], ['id' => 3, 'name' => 'Khaja'], ['id' => 1, 'name' => 'Raja'] ], 'id', 'desc' ); // [['id' => 3, 'name' => 'Khaja'], ['id' => 2, 'name' => 'Joy'], ['id' => 1, 'name' => 'Raja']]
📜 字符串
endsWith
检查字符串是否以给定的子串结尾。
endsWith('Hi, this is me', 'me'); // true
firstStringBetween
返回位于参数 start 和 end 之间的第一个字符串。
```php
firstStringBetween('This is a [custom] string', '[', ']'); // custom
isAnagram
比较两个字符串,如果它们都是字母表中的字母,则返回 true
,否则返回 false
。
isAnagram('act', 'cat'); // true
isLowerCase
如果给定的字符串是小写,则返回 true
,否则返回 false
。
isLowerCase('Morning shows the day!'); // false isLowerCase('hello'); // true
isUpperCase
如果给定的字符串是大写,则返回 true
,否则返回 false
。
isUpperCase('MORNING SHOWS THE DAY!'); // true isUpperCase('qUick Fox'); // false
palindrome
如果给定的字符串是回文,则返回 true
,否则返回 false
。
palindrome('racecar'); // true palindrome(2221222); // true
startsWith
检查字符串是否以给定的子串开头。
startsWith('Hi, this is me', 'Hi'); // true
countVowels
返回提供的字符串中的元音字母数量。
使用正则表达式来计算字符串中元音字母(A, E, I, O, U)的数量。
countVowels('sampleInput'); // 4
decapitalize
将字符串的第一个字母转换为小写。
将字符串的第一个字母转换为小写,然后将其与字符串的其余部分连接起来。省略 upperRest
参数以保持字符串的其余部分完整,或将它设置为 true
以转换为大写。
decapitalize('FooBar'); // 'fooBar'
contains
检查一个单词/子字符串是否存在于给定的字符串输入中。使用 strpos
来查找子字符串在字符串中的首次出现位置。返回 true
或 false
。
contains('This is an example string', 'example'); // true
contains('This is an example string', 'hello'); // false
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅许可证文件。
感谢
感谢 appzcoder 提供的代码片段!