moj / utils
Some utility functions
1.3.0
2020-05-22 13:17 UTC
Requires
- php: >=7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-09-22 23:24:58 UTC
README
Introduction
Some lightweight utility classes to plug missing basic functions in php
Arrays
use MOJ\Utils\Arrays;
Rename Array keys
$input = ['foo', 'bar']; $renamedArray = Arrays::rename(['foo' => 'hello', 'bar' => 'world']); // returns $renamedArray = ['hello', 'world']
Flatten Array
$input = [[0],[1],[2]]; $flattenedArray = Arrays::flatten($input); // returns $flattenedArray = [0, 1, 2];
Flatten Array with glue
$input = [ 'book' => 'Dune', 'housePlanets' => [ 'Atreides' => 'Caladan', 'Harkonnen' => 'Giedi Prime', ], 'houses' => [ [ 'name' => 'Atreides', 'homePlanet' => 'Caladan', 'leader' => 'Duke Leto', ], [ 'name' => 'Harkonnen', 'homePlanet' => 'Geidi Prime', 'leader' => 'Baron', ] ], 'rating' => '*****', ]; $flattendArray = Arrays::flatten($input, '.'); // returns $flattenedArray = [ // 'book' => 'Dune', // 'housePlanets.Atreides' => 'Caladan', // 'housePlanets.Harkonnen' => 'Giedi Prime', // 'houses.0.name' => 'Atreides', // 'houses.0.homePlanet' => 'Caladan', // 'houses.0.leader' => 'Duke Leto', // 'houses.1.name' => 'Harkonnen', // 'houses.1.homePlanet' => 'Geidi Prime', // 'houses.1.leader' => 'Baron', // 'rating' => '*****', // ];
Intersect Array by key recursively
$array1 = [ 'book' => 'Dune', 'housePlanets' => [ 'Atreides' => 'Caladan', 'Harkonnen' => 'Giedi Prime', ], 'rating' => '*****', ]; $array2 = [ 'book' => null, 'housePlanets' => [ 'Harkonnen' => null, ] ]; $intersectedArray = Arrays::intersectKeyRecursive($array1, $array2); // $intersectedArray = [ // 'book' => 'Dune', // 'housePlanets' => [ // 'Harkonnen' => 'Giedi Prime', // ], // ];