src/Peach/Util/Arrays.php
public static function pickup(array $arr, $type, $keyFlag = false)
    {
        $result = array();
        foreach ($arr as $key => $value) {
            if (self::pickupMatch($value, $type)) {
                if ($keyFlag) {
                    $result[$key] = $value;
                } else {
                    $result[] = $value;
                }
            }
        }
        return $result;
    }
public static function pickup(array $arr, $type, $keyFlag = false)
    {
        $result = array();
        foreach ($arr as $key => $value) {
            if (self::pickupMatch($value, $type)) {
                if ($keyFlag) {
                    $result[$key] = $value;
                } else {
                    $result[] = $value;
                }
            }
        }
        return $result;
    }
public static function pickup ( array $ arr , $ type , $ keyFlag = false ) { $ result = array ( ) ; foreach ( $ arr as $ key => $ value ) { if ( self :: pickupMatch ( $ value , $ type ) ) { if ( $ keyFlag ) { $ result [ $ key ] = $ value ; } else { $ result [ ] = $ value ; } } } return $ result ; }
配列の中から, $type で指定した型の値だけを取り出します.
$keyFlag に TRUE を指定した場合はキーと要素の関連付けを維持します.
$type に指定できる文字列は以下のとおりです. (大文字・小文字は区別しません)

- int
- integer
- numeric
- float (※ numeric と同じです. int 型の値もマッチングします.)
- string
- bool
- boolean
- array
- object
- resource
- null

上記に挙げた以外の文字列を指定した場合は, クラス (インタフェース) 名として扱います.

@param  array  $arr     対象の配列
@param  string $type    'int', 'integer', 'numeric', 'float', 'string', 'bool',
'object', 'resource' など.
それ以外の文字列はクラス (インタフェース) 名として扱う
@param  bool   $keyFlag 関連付けを維持する場合は TRUE (デフォルトは FALSE)
@return array
配列の中から $type で指定した型の値だけを取り出します . $keyFlag に TRUE を指定した場合はキーと要素の関連付けを維持します . $type に指定できる文字列は以下のとおりです . ( 大文字・小文字は区別しません )