yii2mod / yii2-helpers
Yii Framework 2.0的有用辅助函数集合
1.3
2016-11-22 15:51 UTC
Requires
- yii2mod/collection: *
- yiisoft/yii2: >=2.0.5
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-20 22:01:07 UTC
README
此扩展为Yii Framework 2.0提供了一组有用的辅助函数。
安装
安装此扩展的首选方式是通过 Composer。
运行以下命令之一:
php composer.phar require --prefer-dist yii2mod/yii2-helpers "*"
或
"yii2mod/yii2-helpers": "*"
将以下内容添加到您的composer.json
文件的require部分。
可用方法
- add()
- average()
- collapse()
- except()
- has()
- first()
- flatten()
- last()
- only()
- pluck()
- prepend()
- pull()
- set()
- sort()
- sortRecursive()
- where()
- xmlStrToArray()
方法列表
#####add()
如果数组中不存在给定的键,则将键/值对添加到数组中
$array = ArrayHelper::add(['card' => 'Visa'], 'price', 200); // ['card' => 'Visa', 'price' => 200]
#####average()
获取给定键的平均值
ArrayHelper::average([1, 2, 3, 4, 5]); // 3
您还可以将键传递给average方法
$array = [ ['score' => 10], ['score' => 30], ['score' => 50], ]; ArrayHelper::average($array, 'score'); // 30
#####collapse()
将数组数组的数组折叠成一个单一数组
$array = ArrayHelper::collapse([[1, 2, 3], [4, 5, 6]]); // [1, 2, 3, 4, 5, 6]
#####except()
获取除了指定数组项之外的所有给定数组
$array = ['name' => 'Desk', 'price' => 100]; $array = ArrayHelper::except($array, ['price']); // ['name' => 'Desk']
#####has()
使用“点”符号检查数组中是否存在项
$array = ['products' => ['desk' => ['price' => 100]]]; $hasDesk = ArrayHelper::has($array, 'products.desk'); // true
#####first()
返回通过给定真值测试的数组的第一个元素
$array = [100, 200, 300]; $value = ArrayHelper::first($array); // 100 // or apply custom callback $value = ArrayHelper::first($array, function($key, $value) { return $value >= 150; // 200 });
#####flatten()
将多维数组展平为一维
$array = ['name' => 'Bob', 'languages' => ['PHP', 'Python']]; $array = ArrayHelper::flatten($array); // ['Bob', 'PHP', 'Python'];
#####last()
返回通过给定真值测试的数组的最后一个元素
$array = [100, 200, 300]; $value = ArrayHelper::last($array); // 300 // or apply custom callback $value = ArrayHelper::last($array, function($key, $value) { return $value; // 300 });
#####only()
从给定数组获取项目子集
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; $array = ArrayHelper::only($array, ['name', 'price']); // ['name' => 'Desk', 'price' => 100]
#####prepend()
将项目推送到数组的开头
$array = ['one', 'two', 'three', 'four']; $array = ArrayHelper::prepend($array, 'zero'); // $array: ['zero', 'one', 'two', 'three', 'four']
#####pluck()
此函数检索给定键的所有集合值
$array = [ ['product_id' => 'prod-100', 'name' => 'Desk'], ['product_id' => 'prod-200', 'name' => 'Chair'], ]; $plucked = ArrayHelper::pluck($array, 'name'); // ['Desk', 'Chair']
您还可以指定您希望结果集合如何键入
$plucked = ArrayHelper::pluck($array, 'name', 'product_id'); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']
#####pull()
从数组中获取值,并移除它
$array = ['name' => 'Desk', 'price' => 100]; $name = ArrayHelper::pull($array, 'name'); // $name: Desk // $array: ['price' => 100]
#####set()
使用“点”符号设置数组项的值
$array = ['products' => ['desk' => ['price' => 100]]]; ArrayHelper::set($array, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
#####sort()
使用给定的回调函数对数组进行排序
$array = [ ['name' => 'Desk'], ['name' => 'Chair'], ]; $array = ArrayHelper::sort($array, function ($value) { return $value['name']; }); /* [ ['name' => 'Chair'], ['name' => 'Desk'], ] */
#####sortRecursive()
递归地对数组按键和值进行排序
$array = [ [ 'Desc', 'Chair', ], [ 'PHP', 'Ruby', 'JavaScript', ], ]; $array = ArrayHelper::sortRecursive($array); /* [ [ 'Chair', 'Desc', ], [ 'JavaScript', 'PHP', 'Ruby', ] ]; */
#####where()
使用给定的闭包过滤数组
$array = ["100", 200, "300"]; $value = ArrayHelper::where($array, function($key, $value) { return is_string($value); }); // Will be return Array ( [0] => 100 [2] => 300 );
#####xmlStrToArray()
将XML字符串转换为数组。
$xml = '<?xml version="1.0"?> <root> <id>1</id> <name>Bob</name> </root>'; ArrayHelper::xmlStrToArray($xml) // ['id' => 1, 'name' => 'Bob']
####StringHelper
StringHelper::removeStopWords('some text');
- 从字符串中删除停用词StringHelper::removePunctuationSymbols('some text');
- 从字符串中删除标点符号