yii2mod / yii2-helpers
Collection of useful helper functions for Yii Framework 2.0
Installs: 138 423
Dependents: 5
Suggesters: 0
Security: 0
Stars: 15
Watchers: 6
Forks: 4
Open Issues: 0
Type:yii2-extension
Requires
- yii2mod/collection: *
- yiisoft/yii2: >=2.0.5
Requires (Dev)
This package is not auto-updated.
Last update: 2024-10-04 22:09:22 UTC
README
This extension is a collection of useful helper functions for Yii Framework 2.0.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yii2mod/yii2-helpers "*"
or add
"yii2mod/yii2-helpers": "*"
to the require section of your composer.json
file.
Available Methods
- add()
- average()
- collapse()
- except()
- has()
- first()
- flatten()
- last()
- only()
- pluck()
- prepend()
- pull()
- set()
- sort()
- sortRecursive()
- where()
- xmlStrToArray()
Method Listing
#####add()
Add a given key / value pair to the array if the given key doesn't already exist in the array:
$array = ArrayHelper::add(['card' => 'Visa'], 'price', 200); // ['card' => 'Visa', 'price' => 200]
#####average()
Get the average value of a given key:
ArrayHelper::average([1, 2, 3, 4, 5]); // 3
You may also pass a key to the average method:
$array = [ ['score' => 10], ['score' => 30], ['score' => 50], ]; ArrayHelper::average($array, 'score'); // 30
#####collapse()
Collapse an array of arrays into a single array:
$array = ArrayHelper::collapse([[1, 2, 3], [4, 5, 6]]); // [1, 2, 3, 4, 5, 6]
#####except()
Get all of the given array except for a specified array of items:
$array = ['name' => 'Desk', 'price' => 100]; $array = ArrayHelper::except($array, ['price']); // ['name' => 'Desk']
#####has()
Check if an item exists in an array using "dot" notation:
$array = ['products' => ['desk' => ['price' => 100]]]; $hasDesk = ArrayHelper::has($array, 'products.desk'); // true
#####first()
Return the first element in an array passing a given truth test:
$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()
Flatten a multi-dimensional array into a single level:
$array = ['name' => 'Bob', 'languages' => ['PHP', 'Python']]; $array = ArrayHelper::flatten($array); // ['Bob', 'PHP', 'Python'];
#####last()
Return the last element in an array passing a given truth test:
$array = [100, 200, 300]; $value = ArrayHelper::last($array); // 300 // or apply custom callback $value = ArrayHelper::last($array, function($key, $value) { return $value; // 300 });
#####only()
Get a subset of the items from the given array:
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; $array = ArrayHelper::only($array, ['name', 'price']); // ['name' => 'Desk', 'price' => 100]
#####prepend()
Push an item onto the beginning of an array:
$array = ['one', 'two', 'three', 'four']; $array = ArrayHelper::prepend($array, 'zero'); // $array: ['zero', 'one', 'two', 'three', 'four']
#####pluck()
The function retrieves all of the collection values for a given key:
$array = [ ['product_id' => 'prod-100', 'name' => 'Desk'], ['product_id' => 'prod-200', 'name' => 'Chair'], ]; $plucked = ArrayHelper::pluck($array, 'name'); // ['Desk', 'Chair']
You may also specify how you wish the resulting collection to be keyed:
$plucked = ArrayHelper::pluck($array, 'name', 'product_id'); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']
#####pull()
Get a value from the array, and remove it:
$array = ['name' => 'Desk', 'price' => 100]; $name = ArrayHelper::pull($array, 'name'); // $name: Desk // $array: ['price' => 100]
#####set()
Set an array item to a given value using "dot" notation:
$array = ['products' => ['desk' => ['price' => 100]]]; ArrayHelper::set($array, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
#####sort()
Sort the array using the given callback:
$array = [ ['name' => 'Desk'], ['name' => 'Chair'], ]; $array = ArrayHelper::sort($array, function ($value) { return $value['name']; }); /* [ ['name' => 'Chair'], ['name' => 'Desk'], ] */
#####sortRecursive()
Recursively sort an array by keys and values:
$array = [ [ 'Desc', 'Chair', ], [ 'PHP', 'Ruby', 'JavaScript', ], ]; $array = ArrayHelper::sortRecursive($array); /* [ [ 'Chair', 'Desc', ], [ 'JavaScript', 'PHP', 'Ruby', ] ]; */
#####where()
Filter the array using the given Closure.:
$array = ["100", 200, "300"]; $value = ArrayHelper::where($array, function($key, $value) { return is_string($value); }); // Will be return Array ( [0] => 100 [2] => 300 );
#####xmlStrToArray()
Convert xml string to array.
$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');
- remove stop words from stringStringHelper::removePunctuationSymbols('some text');
- Remove punctuation symbols from string