Overview

Namespaces

  • Peach
    • DF
    • DT
    • Http
      • Body
      • Header
    • Markup
    • Util

Classes

  • AbstractMapEntry
  • ArrayMap
  • ArrayMapEntry
  • Arrays
  • DefaultComparator
  • DefaultEquator
  • HashMap
  • HashMapEntry
  • Strings
  • Values

Interfaces

  • Comparable
  • Comparator
  • Equator
  • Map
  • MapEntry
  • Overview
  • Namespace
  • Class

Class Arrays

配列に関する操作を行うユーティリティクラスです.

Namespace: Peach\Util
Located at Peach/Util/Arrays.php
Methods summary
public static mixed
# max( array $arr, Peach\Util\Comparator $c = null )

指定された配列の各要素の中で「最も大きい」値を返します.

指定された配列の各要素の中で「最も大きい」値を返します.

配列に含まれるオブジェクトが Peach\Util\Comparable を実装している場合は そのオブジェクトの Comparable::compareTo メソッドを使って大小の比較を行います. それ以外の値の場合は PHP の比較演算子のルール に従って大小比較が行われます.

大小の比較方法が型によって異なるため, 配列内の要素の型に一貫性がない場合は, 格納順序の違いによって 異なる結果となる可能性があります. 意図しない動作を防ぐためには, あらかじめ Arrays::pickup を使って配列に含まれる型を揃えてください.

オプションとして第 2 引数に Peach\Util\Comparator オブジェクトを指定することもできます. もし第 2 引数が指定された場合は Comparator::compare メソッドを使って大小比較を行います.

Parameters

$arr
$c

Returns

mixed
引数 $arr の中で最も大きな値. 配列が空の場合は NULL
public static mixed
# min( array $arr, Peach\Util\Comparator $c = null )

指定された配列の各要素の中で「最も小さい」値を返します.

指定された配列の各要素の中で「最も小さい」値を返します.

配列に含まれるオブジェクトが Peach\Util\Comparable を実装している場合は そのオブジェクトの Comparable::compareTo メソッドを使って大小の比較を行います. それ以外の値の場合は PHP の比較演算子のルール に従って大小比較が行われます.

大小の比較方法が型によって異なるため, 配列内の要素の型に一貫性がない場合は, 格納順序の違いによって 異なる結果となる可能性があります. 意図しない動作を防ぐためには, あらかじめ Arrays::pickup を使って配列に含まれる型を揃えてください.

オプションとして第 2 引数に Peach\Util\Comparator オブジェクトを指定することもできます. もし第 2 引数が指定された場合は Comparator::compare メソッドを使って大小比較を行います.

Parameters

$arr
$c

Returns

mixed
$arr の中で最も大きな値. 配列が空の場合は NULL
public static array
# pickup( array $arr, string $type, boolean $keyFlag = false )

配列の中から, $type で指定した型の値だけを取り出します. $keyFlag に TRUE を指定した場合はキーと要素の関連付けを維持します. $type に指定できる文字列は以下のとおりです. (大文字・小文字は区別しません)

配列の中から, $type で指定した型の値だけを取り出します. $keyFlag に TRUE を指定した場合はキーと要素の関連付けを維持します. $type に指定できる文字列は以下のとおりです. (大文字・小文字は区別しません)

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

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

Parameters

$arr
対象の配列
$type

'int', 'integer', 'numeric', 'float', 'string', 'bool', 'object', 'resource' など. それ以外の文字列はクラス (インタフェース) 名として扱う

$keyFlag
関連付けを維持する場合は TRUE (デフォルトは FALSE)

Returns

array
public static array
# sort( array $arr, Peach\Util\Comparator $c = null )

指定された配列をソートします. 配列のキーは連番で初期化されます. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

指定された配列をソートします. 配列のキーは連番で初期化されます. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

Parameters

$arr
ソート対象の配列
$c
コンパレータ

Returns

array
public static array
# asort( array $arr, Peach\Util\Comparator $c = null )

配列のキーと値のマッピングを保持しながら, 指定された配列をソートします. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

配列のキーと値のマッピングを保持しながら, 指定された配列をソートします. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

Parameters

$arr
ソート対象の配列
$c
コンパレータ

Returns

array
ソート後の配列
public static array
# concat( )

引数の配列または値を連結して, 一つの配列として返します.

引数の配列または値を連結して, 一つの配列として返します.

例えば

$arr1   = array(10, 20, 30);
$arr2   = array(40, 50);
$concat = Arrays::concat($arr1, "X", $arr2, "Y");

の結果は

array(10, 20, 30, "X", 40, 50, "Y")

に等しくなります。

この関数は多次元配列はサポートしません.

$arr1 = array("hoge", "fuga");
$arr2 = array(
    array(1, 2, 3),
    array(5, 7)
);
$concat = Arrays::concat($arr1, $arr2);

の結果は

array(
    "hoge",
    "fuga",
    array(1, 2, 3),
    array(5, 7)
)

となります.

この関数は, 配列に含まれるキーをすべて無視します. 結果の配列のキーは連番で初期化されます.

Returns

array
public static array
# unique( array $arr, Peach\Util\Comparator $c = null )

指定された配列から, 重複した値を取り除いた結果を返します. 重複かどうかの判定は, 引数に指定されたコンパレータを使って行われます. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

指定された配列から, 重複した値を取り除いた結果を返します. 重複かどうかの判定は, 引数に指定されたコンパレータを使って行われます. コンパレータが指定されなかった場合は Peach\Util\DefaultComparator が適用されます.

Parameters

$arr
$c
コンパレータ

Returns

array
PEACH2 API documentation generated by ApiGen