Link Search Menu Expand Document

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

Copyright © 2019-2021 ut4