solidworx / util
A collection of utility classes for everyday use
Installs: 8 655
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- php: >=7.1.0
- symfony/property-access: ^2.7|^3.0
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is not auto-updated.
Last update: 2022-02-01 13:06:27 UTC
README
DEPRECATED This package is not maintained anymore. Use solidworx/lodash-php instead
A collection of utility classes for everyday use
Table of Contents
Requirements
Minimum PHP requirement is PHP 7.1+
Installation
Composer
$ composer require solidworx/util
Usage
ArrayUtil
column:
Return the values from a single column in the input array. The input can be an array of arrays or objects.
This method is an enhancement to the normal array_column
function.
This can be useful if you need to get a specific value from a collection.
Using an array input
<?php $input = [ ['test' => 'one'], ['test' => 'two'], ['test' => 'three'], ]; $columns = ArrayUtil::column($input, 'test'); /* $columns = array ( 0 => 'one', 1 => 'two', 2 => 'three', );*/
Using an object with public properties
<?php class Foo { public $test; } $foo1 = new Foo; $foo1->test = 'one'; $foo2 = new Foo; $foo2->test = 'two'; $foo3 = new Foo; $foo3->test = 'three'; $input = [ $foo1, $foo2, $foo3, ]; $columns = ArrayUtil::column($input, 'test'); /* $columns = array ( 0 => 'one', 1 => 'two', 2 => 'three', );*/
Using an object with methods
<?php class Foo { private $value; public function __construct($value) { $this->value = $value; } public function test() { return $this->>value; } } $input = [ new Foo('one'), new Foo('two'), new Foo('three'), ]; $columns = ArrayUtil::column($input, 'test'); /* $columns = array ( 0 => 'one', 1 => 'two', 2 => 'three', );*/
Using an object with getters
<?php class Foo { private $value; public function __construct($value) { $this->value = $value; } public function getTest() { return $this->value; } } $input = [ new Foo('one'), new Foo('two'), new Foo('three'), ]; $columns = ArrayUtil::column($input, 'test'); /* $columns = array ( 0 => 'one', 1 => 'two', 2 => 'three', );*/
Getting all the email addresses of your users:
<?php $users = $userRepository->findAll(); $emails = ArrayUtil::column($users, 'email');
By default, all the null
values are filtered out. If you want to keep the null
values, pass false
as the third parameter:
$users = $userRepository->findAll(); $emails = ArrayUtil::column($users, 'email', false); // Will keep empty values in the result
Testing
To run the unit tests, execute the following command
$ vendor/bin/phpunit
Contributing
See CONTRIBUTING
License
This library is open-sourced software licensed under the MIT license
Please see the LICENSE file for the full license.