Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pointybeard/helpers-functions-arrays
A collection of helpful functions related to arrays and array manipulation
https://github.com/pointybeard/helpers-functions-arrays
Last synced: 9 days ago
JSON representation
A collection of helpful functions related to arrays and array manipulation
- Host: GitHub
- URL: https://github.com/pointybeard/helpers-functions-arrays
- Owner: pointybeard
- License: other
- Created: 2019-05-11T10:34:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-05-12T04:20:27.000Z (over 5 years ago)
- Last Synced: 2024-10-11T06:21:03.022Z (about 1 month ago)
- Language: PHP
- Size: 4.88 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# PHP Helpers: Array Functions
- Version: v1.0.1
- Date: May 11 2019
- [Release notes](https://github.com/pointybeard/helpers-functions-arrays/blob/master/CHANGELOG.md)
- [GitHub repository](https://github.com/pointybeard/helpers-functions-arrays)A collection of helpful functions related to arrays and array manipulation
## Installation
This library is installed via [Composer](http://getcomposer.org/). To install, use `composer require pointybeard/helpers-functions-arrays` or add `"pointybeard/helpers-functions-arrays": "~1.0"` to your `composer.json` file.
And run composer to update your dependencies:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update### Requirements
There are no particuar requirements for this library other than PHP 5.6 or greater.
To include all the [PHP Helpers](https://github.com/pointybeard/helpers) packages on your project, use `composer require pointybeard/helpers` or add `"pointybeard/helpers": "~1.0"` to your composer file.
## Usage
This library is a collection of helpful functions related to arrays and array manipulation. They are included by the vendor autoloader automatically. The functions have a namespace of `pointybeard\Helpers\Functions\Arrays`
The following functions are provided:
- `array_is_assoc(array $input) : bool`
- `array_remove_empty(array $input, int $depth=null) : ?array`
- `array_insert_at_index(array &$array, int $index, mixed ...$additions) : void`Example usage:
```php
1, 'b' => 2]));
// bool(true)var_dump(Arrays\array_is_assoc([4, 5, 6, 7]));
// bool(false)$a = [1, 2, 3, 4];
Arrays\array_insert_at_index($a, 2, "apple", "banana", "orange");
print_r($a);
// Array
// (
// [0] => 1
// [1] => 2
// [2] => apple
// [3] => banana
// [4] => orange
// [5] => 3
// [6] => 4
// )$a = [1, 3, 'animal' => 'chicken', 1, 2, 3, 4];
Arrays\array_insert_at_index($a, 4, ['food' => 'cabbage']);
print_r($a);
// Note that array key 'food' is not preserved
// Array
// (
// [0] => 1
// [1] => 3
// [animal] => chicken
// [2] => 1
// [3] => cabbage
// [4] => 2
// [5] => 3
// [6] => 4
// )print_r(Arrays\array_remove_empty([
1, 2, 3, 4, '', ['a', 'b', 'c', '', 'e']
]));
// Array
// (
// [0] => 1
// [1] => 2
// [2] => 3
// [3] => 4
// [5] => Array
// (
// [0] => a
// [1] => b
// [2] => c
// [4] => e
// )
// )print_r(Arrays\array_remove_empty([
"fruit" => [
"apple",
"banana",
""
],
"cars" => [],
"ancestors" => [
"charlie" => "",
"betty" => [
"children" => [
"pete",
"sarah" => [
"children" => [
1 => "heidi",
2 => "mary",
3 => "adam",
4 => ""
]
],
"bob" => [
"children" => []
]
]
]
]
], 3));
// Array
// (
// [fruit] => Array
// (
// [0] => apple
// [1] => banana
// )
// [ancestors] => Array
// (
// [betty] => Array
// (
// [children] => Array
// (
// [0] => pete
// [sarah] => Array
// (
// [children] => Array
// (
// [1] => heidi
// [2] => mary
// [3] => adam
// )
// )
// [bob] => Array
// (
// [children] => Array
// (
// )
// )
// )
// )
// )
// )var_dump(Arrays\array_remove_empty([
"", NULL, false
]));
// array(0) {}try {
print_r(Arrays\array_remove_empty([
"one", "two"
], "INVALID_DEPTH_VALUE"));
} catch (\Exception $ex) {
var_dump($ex->getMessage());
}
// string(46) "depth must be NULL or a positive integer value"```
## Support
If you believe you have found a bug, please report it using the [GitHub issue tracker](https://github.com/pointybeard/helpers-functions-arrays/issues),
or better yet, fork the library and submit a pull request.## Contributing
We encourage you to contribute to this project. Please check out the [Contributing documentation](https://github.com/pointybeard/helpers-functions-arrays/blob/master/CONTRIBUTING.md) for guidelines about how to get involved.
## License
"PHP Helpers: Array Functions" is released under the [MIT License](http://www.opensource.org/licenses/MIT).