class Pike\ArrayUtils
Taulukkojen (ja ArrayObject-olioden) käsittelyä helpottava luokka.
Synopsis
class ArrayUtils {
/* Metodit */
public findByKey ( array|ArrayObject $array, mixed $val, string $key, mixed $default = null ) : mixed|null
public filterByKey ( array|ArrayObject $array, mixed $val, string $key ) : array|ArrayObject
public findIndexByKey ( array|ArrayObject $array, mixed $val, string $key ) : int
}
Metodit
findByKey()
Palauttaa taulukosta ensimmäisen objektin tai taulukon jonka $obj->key ?? $obj[$key] === $val
, tai $default
mikäli sellaista ei löytynyt.
Signature
public static function findByKey ( array|ArrayObject $array, mixed $val, string $key, mixed $default = null ) : mixed|null
Esimerkit
$arr = [(object) ['id' => '1'], (object) ['id' => '2']];
ArrayUtils::findByKey($arr, '1', 'id', 'none'); // (object) ['id' => '1']
ArrayUtils::findByKey($arr, '5', 'id', 'none'); // 'none'
filterByKey()
Palauttaa uuden taulukon/ArrayObjektin jonka sisältönä vain ne $array
:n objektit tai taulukot joiden $obj->key ?? $obj[$key] === $val
. Mikäli yhtään ei löytynyt, palauttaa tyhjän taulukon/ArrayObjektin.
Signature
public static function filterByKey ( array|ArrayObject $array, mixed $val, string $key ) : array|ArrayObject
Esimerkit
$arr = [(object) ['id' => '1'], (object) ['id' => '2']];
ArrayUtils::filterByKey($arr, '1', 'id'); // [(object) ['id' => '1']]
ArrayUtils::filterByKey($arr, '5', 'id'); // []
findIndexByKey()
Palauttaa taulukon ensimmäisen objektin tai taulukon indeksin jonka $obj->key ?? $obj[$key] === $val
, tai -1
mikäli sellaista ei löytynyt.
Signature
public static function findIndexByKey ( array|ArrayObject $array, mixed $val, string $key ) : int
Esimerkit
$arr = [(object) ['id' => '1'], (object) ['id' => '2']];
ArrayUtils::findIndexByKey($arr, '1', 'id'); // 0
ArrayUtils::findIndexByKey($arr, '5', 'id'); // -1