Util

クラス: Peach_Util_Arrays

定義: /Peach/Util/Arrays.php

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

メソッド

メソッド 詳細

static asort

line 224

static array asort(array $arr, [Peach_Util_Comparator $c = null])

配列のキーと値のマッピングを保持しながら, 指定された配列をソートします.

コンパレータが指定されなかった場合は Util_DefaultComparator が適用されます.

Tags

  • return : ソート後の配列
  • access : public

Parameters

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

static concat

line 280

static array concat()

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

例えば

  1.  $arr1   array(102030);
  2.  $arr2   array(4050);
  3.  $concat Peach_Util_Arrays::concat($arr1"X"$arr2"Y");

の結果は

  1. array(102030"X"4050"Y")

に等しくなります。

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

  1.  $arr1 array("hoge""fuga");
  2.  $arr2 array(
  3.      array(123),
  4.      array(57)
  5.  );
  6.  $concat Peach_Util_Arrays::concat($arr1$arr2);

の結果は

  1.  array(
  2.      "hoge",
  3.      "fuga",
  4.      array(123),
  5.      array(57)
  6.  )

となります.

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

Tags

  • access : public

static max

line 85

static mixed max(array $arr, [Peach_Util_Comparator $c = null])

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

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

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

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

Tags

  • return : 引数 $arr の中で最も大きな値. 配列が空の場合は NULL
  • access : public

Parameters

array $arr
Peach_Util_Comparator $c

static min

line 114

static mixed min(array $arr, [Peach_Util_Comparator $c = null])

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

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

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

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

Tags

  • return : の中で最も大きな値. 配列が空の場合は NULL
  • access : public

Parameters

array $arr
Peach_Util_Comparator $c

static pickup

line 145

static array pickup(array $arr, string $type, [bool $keyFlag = false])

配列の中から, $type で指定した型の値だけを取り出します.

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

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

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

Tags

  • access : public

Parameters

array $arr 対象の配列
string $type 'int', 'integer', 'numeric', 'float', 'string', 'bool', 'object', 'resource' など. それ以外の文字列はクラス (インタフェース) 名として扱う
bool $keyFlag 関連付けを維持する場合は TRUE (デフォルトは FALSE)

static sort

line 204

static array sort(array $arr, [Peach_Util_Comparator $c = null])

指定された配列をソートします.

配列のキーは連番で初期化されます. コンパレータが指定されなかった場合は Peach_Util_DefaultComparator が適用されます.

Tags

  • access : public

Parameters

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

static unique

line 305

static array unique(array $arr, [Peach_Util_Comparator $c = null])

指定された配列から, 重複した値を取り除いた結果を返します.

重複かどうかの判定は, 引数に指定されたコンパレータを使って行われます. コンパレータが指定されなかった場合は Peach_Util_DefaultComparator が適用されます.

Tags

  • access : public

Parameters

array $arr
Peach_Util_Comparator $c コンパレータ