czproject / arrays
Array tools library.
Fund package maintenance!
Other
v1.1.0
2020-06-03 14:42 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- nette/tester: ^2.0
This package is auto-updated.
Last update: 2024-11-13 17:58:50 UTC
README
Array tools library.
Installation
Download a latest package or use Composer:
composer require czproject/arrays
CzProject\Arrays
requires PHP 5.6.0 or later.
Usage
use CzProject\Arrays;
flatten()
$data = Arrays::flatten(array( 'value 1', 'values' => array( 'value 2-1', 'value 2-2', 'value 2-3', ), 'value 3', )); /* Returns: [ 'value 1', 'value 2-1', 'value 2-2', 'value 2-3', 'value 3', ] */
fetchPairs()
$rows = array( array( 'id' => 1, 'name' => 'Row #1', ), array( 'id' => 2, 'name' => 'Row #2', ), array( 'id' => 3, 'name' => 'Row #3', ), ); $data = Arrays::fetchPairs($rows, 'id', 'name'); /* Returns: [ 1 => 'Row #1', 2 => 'Row #2', 3 => 'Row #3', ] */
merge()
$defaultConfig = array( 'parameters' => array( 'database' => array( 'host' => 'localhost', 'database' => 'lorem_ipsum', 'driver' => 'mysql', ), ), 'messages' => array( 'success' => 'Success!', 'error' => 'Error!', ), ); $config = array( 'parameters' => array( 'database' => array( 'user' => 'user123', 'password' => 'password123', ), ), 'messages' => array( 'error' => 'Fatal Error!', ), ); $data = Arrays::merge($config, $defaultConfig); /* Returns: [ parameters => [ database => [ host => 'localhost', database => 'lorem_ipsum', driver => 'mysql', user => 'user123', password => 'password123', ] ], messages => [ success => 'Success!', error => 'Fatal Error!', ] ] */
pushFrom()
$a = ['A1', 'A2', 'A3', 'A4']; $b = ['B1', 'B2']; $result = []; for ($i = 0; $i < 4; $i++) { Arrays::pushFrom($result, $a); Arrays::pushFrom($result, $b); } /* Returns: [ 'A1', 'B1', 'A2', 'B2', 'A3', 'A4', ] */
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/