PHP共通配列関数
18381 ワード
目次
array_column
配列で指定した列を返します.
例:
出力:
array_combine
1つの配列を作成し、1つの配列の値をキー名とし、もう1つの配列の値を値とします.
例:
出力:
array_count_values
統計配列内のすべての値が配列に現れる回数
例:
出力:
array_fill_keys
指定したキーと値を使用して配列を塗りつぶす
valueパラメータの値を値として、keys配列の値をキーとして配列を埋めます.例:
出力:
array_flip
配列内のキーと値の交換
array_flip()は、arrayのキー名が値になり、arrayの値がキー名になるなど、反転したarrayを返します.同じ値が複数回表示されると、最後のキー名がその値となり、他のキーは破棄されます.例:
出力:
array_intersect
配列の交差の計算
例:
出力:
array_key_exists
配列に指定したキー名またはインデックスがあるかどうかを確認します.
配列にキーがある場合、array_key_exists()はTRUEを返す.keyは、配列インデックスとして使用できる任意の値であってもよい.例:
出力:
array_keys
配列の一部またはすべてのキー名の説明を返します.
オプションパラメータsearch_が指定されている場合valueの場合、その値のキー名のみが返されます.そうでなければinput配列のすべてのキー名が返されます.
パラメータ:
例:
出力:
array_map
配列の各要素にコールバック関数を適用
例:
出力:
array_merge
1つ以上の配列を結合
入力した配列に同じ文字列のキー名がある場合、キー名の後ろの値は前の値を上書きします.ただし、配列に数値キー名が含まれている場合、後の値は元の値を上書きするのではなく、後に付加されます.
例:
出力:
array_pop
最後のセルをポップアップ(スタックアウト)
例:
出力:
array_push
1つ以上のユニットを配列の末尾に押し込む(スタックに入れる)
例:
出力:
array_rand
配列から1つ以上のセルをランダムに取り出す
配列から1つ以上のランダムなセルを取り出し、ランダムなエントリの1つ以上のキーを返します.擬似乱数生成アルゴリズムを使用しているので、暗号学的シーンには適していません.
例:
出力:
array_reverse
セルの順序が逆の配列を返す
パラメータ:
array_search
配列内で指定した値を検索し、成功すると最初の対応するキー名を返します.
海は針をすくい、海(haystack)で針(needleパラメータ)を検索する.
例:
出力:
array_shift
配列の先頭のセルを配列から削除
array_shift()はarrayの最初のユニットを移動し、結果として返し、arrayの長さを減らして他のすべてのユニットを1つ前に移動します.すべての数値キー名がゼロからカウントされるように変更され、文字キー名は変更されません.
例:
出力:
array_slice
配列からセグメントを取り出す
array_slice()はoffsetパラメータとlengthパラメータに基づいて指定されたarray配列のシーケンスを返します.例:
出力:
array_sum
配列内のすべての値の合計
array_sum()は配列内のすべての値を加算し、結果を返します.
例:
出力:
array_unique
配列内の重複する値の削除
パラメータ: SORT_REGULAR-通常の方法で比較(タイプを変更しない) SORT_NUMERIC- を数値で比較 SORT_STRING- を文字列形式で比較 SORT_LOCALE_STRING-現在のローカライズ設定に基づいて文字列で比較します.
例:
出力:
array_unshift
配列の先頭に1つ以上のセルを挿入
array_unshift()は、array配列の先頭に入力されたセルを挿入します.注意ユニットは全体として挿入されるので、入力ユニットは同じ順序を保つ.すべての数値キー名はゼロから再カウントされるように変更され、すべてのテキストキー名は変更されません.
例:
出力:
array_values
配列内のすべての値を返します.
例:
出力:
arsort
配列を逆ソートし、インデックス関係を維持
この関数は配列をソートし、配列のインデックスはセルの関連付けを維持します.主に,それらのセル順序が重要な結合配列をソートするために用いられる.
例:
出力:
asort
配列をソートし、インデックス関係を維持
この関数は配列をソートし、配列のインデックスはセルの関連付けを維持します.主に,それらのセル順序が重要な結合配列をソートするために用いられる.
例:
出力:
count
配列内のセル数、またはオブジェクト内の属性の数を計算します.
配列内のすべての要素の数、またはオブジェクト内のものを統計します.
例:
出力:
in_array
配列に値があるかどうかを確認します
例:
出力:
key_exists
array_key_exists()の別名
krsort
配列をキー名で逆ソート
配列をキー名で逆ソートし、データへのキー名の関連付けを保持します.主に結合配列に使用されます.
例:
出力:
ksort
配列をキー名で並べ替える
例:
出力:
list
配列の値を変数のセットに割り当てる
array()のように、これは本当の関数ではなく、言語構造です.list()は、単一の操作で変数のセットに値を割り当てることができます.
例:
出力:
rsort
配列の逆ソート
この関数は、配列を逆ソートします(最大~最低).
例:
出力:
sort
配列のソート
この関数は配列をソートします.この関数が終了すると、配列ユニットは最低から最高に再配置されます.
例:
出力:
shuffle
配列を乱す
この関数は(ランダム配列ユニットの順序)配列を乱します.擬似乱数発生器を使用しており、暗号学の場合には適していません.
例:
出力:
usort
ユーザー定義の比較関数を使用して配列内の値をソートします.
この関数では、1つの配列の値をユーザー定義の比較関数でソートします.ソートする配列を異常な基準でソートする必要がある場合は、この関数を使用します.
例:
出力:
array_column
配列で指定した列を返します.
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array
例:
$arr = [
['id' => 12, 'name' => 'paul', 'age' => 23],
['id' => 13, 'name' => 'itbsl', 'age' => 25],
['id' => 14, 'name' => 'jack', 'age' => 26]
];
$result = array_column($arr, 'name');
dump($result);
出力:
array(3) {
[0] => string(4) "paul"
[1] => string(5) "itbsl"
[2] => string(4) "jack"
}
array_combine
1つの配列を作成し、1つの配列の値をキー名とし、もう1つの配列の値を値とします.
array_combine ( array $keys , array $values ) : array
例:
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
dump($c);
出力:
array(3) {
["green"] => string(7) "avocado"
["red"] => string(5) "apple"
["yellow"] => string(6) "banana"
}
array_count_values
統計配列内のすべての値が配列に現れる回数
array_count_values ( array $array ) : array
例:
$arr = [1, "hello", 1, "world", "hello"];
$result = array_count_values($arr);
dump($result);
出力:
array(3) {
[1] => int(2)
["hello"] => int(2)
["world"] => int(1)
}
array_fill_keys
指定したキーと値を使用して配列を塗りつぶす
array_fill_keys ( array $keys , mixed $value ) : array
valueパラメータの値を値として、keys配列の値をキーとして配列を埋めます.例:
$arr1 = ['id', 'name', 'age'];
$value = 25;
$result = array_fill_keys($arr1, $value);
dump($result);
出力:
array(3) {
["id"] => int(25)
["name"] => int(25)
["age"] => int(25)
}
array_flip
配列内のキーと値の交換
array_flip ( array $array ) : array
array_flip()は、arrayのキー名が値になり、arrayの値がキー名になるなど、反転したarrayを返します.同じ値が複数回表示されると、最後のキー名がその値となり、他のキーは破棄されます.例:
$arr = ['id' => 12, 'name' => 'itbsl', 'age' => 12];
$result = array_flip($arr);
dump($result);
出力:
array(2) {
[12] => string(3) "age"
["itbsl"] => string(4) "name"
}
array_intersect
配列の交差の計算
array_intersect ( array $array1 , array $array2 [, array $... ] ) : array
例:
$arr1 = ['green', 'yellow', 'red', 2];
$arr2 = ['blue', 'green', 2, 'red'];
$result = array_intersect($arr1, $arr2);
dump($result);
出力:
array(3) {
[0] => string(5) "green"
[2] => string(3) "red"
[3] => int(2)
}
array_key_exists
配列に指定したキー名またはインデックスがあるかどうかを確認します.
array_key_exists ( mixed $key , array $array ) : bool
配列にキーがある場合、array_key_exists()はTRUEを返す.keyは、配列インデックスとして使用できる任意の値であってもよい.例:
$search_array = ['first' => 1, 'second' => 2];
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
} else {
echo "The 'first' element is not in the array";
}
出力:
The 'first' element is in the array
array_keys
配列の一部またはすべてのキー名の説明を返します.
array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ) : array
オプションパラメータsearch_が指定されている場合valueの場合、その値のキー名のみが返されます.そうでなければinput配列のすべてのキー名が返されます.
パラメータ:
$array
の配列で、戻るキーが含まれています.$search_value
このパラメータが指定されている場合、これらの値を含むキーのみが返されます.$strict
は、検索時に厳密な比較を使用すべきか否かを判断する(==).例:
$arr1 = [0 => 100, 'color' => 'red'];
dump(array_keys($arr1));
$arr2 = ['blue', 'red', 'green', 'blue', 'blue'];
dump(array_keys($arr2, 'blue'));
$arr3 = [
'color' => ['blue', 'red', 'green'],
'size' => ['small', 'medium', 'large']
];
dump(array_keys($arr3));
出力:
array(2) {
[0] => int(0)
[1] => string(5) "color"
}
array(3) {
[0] => int(0)
[1] => int(3)
[2] => int(4)
}
array(2) {
[0] => string(5) "color"
[1] => string(4) "size"
}
array_map
配列の各要素にコールバック関数を適用
array_map ( callable $callback , array $array1 [, array $... ] ) : array
例:
$arr = ['green', 'blue', 'red', 'yellow'];
$result = array_map('ucfirst', $arr);
dump($result);
出力:
array(4) {
[0] => string(5) "Green"
[1] => string(4) "Blue"
[2] => string(3) "Red"
[3] => string(6) "Yellow"
}
array_merge
1つ以上の配列を結合
array_merge ( array $array1 [, array $... ] ) : array
入力した配列に同じ文字列のキー名がある場合、キー名の後ろの値は前の値を上書きします.ただし、配列に数値キー名が含まれている場合、後の値は元の値を上書きするのではなく、後に付加されます.
例:
$arr1 = [1, 2, 'name' => 'itbsl', 'age' => 12];
$arr2 = [3, 4, 'name' => 'jack', 'hobby' => 'fishing', 'age' => 25];
$result = array_merge($arr1, $arr2);
dump($result);
出力:
array(7) {
[0] => int(1)
[1] => int(2)
["name"] => string(4) "jack"
["age"] => int(25)
[2] => int(3)
[3] => int(4)
["hobby"] => string(7) "fishing"
}
array_pop
最後のセルをポップアップ(スタックアウト)
array_pop ( array &$array ) : mixed
例:
$arr = [1, 2, 3, 4];
array_pop($arr);
dump($arr);
出力:
array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
array_push
1つ以上のユニットを配列の末尾に押し込む(スタックに入れる)
array_push ( array &$array , mixed $value1 [, mixed $... ] ) : int
例:
$arr = [1, 2, 3];
array_push($arr, 4, 5);
dump($arr);
出力:
array(5) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
[3] => int(4)
[4] => int(5)
}
array_rand
配列から1つ以上のセルをランダムに取り出す
array_rand ( array $array [, int $num = 1 ] ) : mixed
配列から1つ以上のランダムなセルを取り出し、ランダムなエントリの1つ以上のキーを返します.擬似乱数生成アルゴリズムを使用しているので、暗号学的シーンには適していません.
例:
$arr = ['green', 'blue', 'yellow', 'red', 'black'];
dump(array_rand($arr));
dump(array_rand($arr, 2));
出力:
int(4)
array(2) {
[0] => int(3)
[1] => int(4)
}
array_reverse
セルの順序が逆の配列を返す
array_reverse ( array $array [, bool $preserve_keys = FALSE ] ) : array
パラメータ:
$array
入力の配列.$preserve_keys
TRUEに設定されると、数字のキーが保持される.数値以外のキーはこの設定の影響を受けず、常に保持されます.例:$arr = ['green', 'blue', 'yellow', 2];
$result = array_reverse($arr);
dump($result);
array_search
配列内で指定した値を検索し、成功すると最初の対応するキー名を返します.
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
海は針をすくい、海(haystack)で針(needleパラメータ)を検索する.
例:
$arr = ['id' => 12, 'name' => 'kevin', 'age' => 25];
$result = array_search('kevin', $arr);
dump($result);
出力:
string(4) "name"
array_shift
配列の先頭のセルを配列から削除
array_shift ( array &$array ) : mixed
array_shift()はarrayの最初のユニットを移動し、結果として返し、arrayの長さを減らして他のすべてのユニットを1つ前に移動します.すべての数値キー名がゼロからカウントされるように変更され、文字キー名は変更されません.
例:
$arr = [1, 2, 3, 4, 5];
array_shift($arr);
dump($arr);
出力:
array(4) {
[0] => int(2)
[1] => int(3)
[2] => int(4)
[3] => int(5)
}
array_slice
配列からセグメントを取り出す
array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) : array
array_slice()はoffsetパラメータとlengthパラメータに基づいて指定されたarray配列のシーケンスを返します.例:
$arr = ['green', 'blue', 'yellow', 'red', 'black', 'pink'];
$result = array_slice($arr, 1, 2);
dump($result);
出力:
array(2) {
[0] => string(4) "blue"
[1] => string(6) "yellow"
}
array_sum
配列内のすべての値の合計
array_sum ( array $array ) : number
array_sum()は配列内のすべての値を加算し、結果を返します.
例:
$arr1 = [10, 20, 30];
$arr2 = ['a' => 10, 'b' => 20, 'c', 'd' => 40];
dump(array_sum($arr1));
dump(array_sum($arr2));
出力:
int(60)
int(70)
array_unique
配列内の重複する値の削除
array_unique ( array $array [, int $sort_flags = SORT_STRING ] ) : array
パラメータ:
$array
入力の配列.$sort_flags
ソートタイプタグ:例:
$arr1 = [10, 20, 10, 30];
dump(array_unique($arr1));
出力:
array(3) {
[0] => int(10)
[1] => int(20)
[3] => int(30)
}
array_unshift
配列の先頭に1つ以上のセルを挿入
array_unshift ( array &$array [, mixed $... ] ) : int
array_unshift()は、array配列の先頭に入力されたセルを挿入します.注意ユニットは全体として挿入されるので、入力ユニットは同じ順序を保つ.すべての数値キー名はゼロから再カウントされるように変更され、すべてのテキストキー名は変更されません.
例:
$arr = ['orange', 'banana'];
array_unshift($arr, 'apple', 'strawberry');
dump($arr);
出力:
array(4) {
[0] => string(5) "apple"
[1] => string(10) "strawberry"
[2] => string(6) "orange"
[3] => string(6) "banana"
}
array_values
配列内のすべての値を返します.
array_values ( array $array ) : array
例:
$arr = ['size' => 'XXL', 'color' => 'green'];
dump(array_values($arr));
出力:
array(2) {
[0] => string(3) "XXL"
[1] => string(5) "green"
}
arsort
配列を逆ソートし、インデックス関係を維持
arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
この関数は配列をソートし、配列のインデックスはセルの関連付けを維持します.主に,それらのセル順序が重要な結合配列をソートするために用いられる.
例:
$fruits = ['d' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple'];
arsort($fruits);
dump($fruits);
$nums = [4, 2, 1, 9, 10, 7];
arsort($nums);
dump($nums);
出力:
array(4) {
["a"] => string(6) "orange"
["d"] => string(5) "lemon"
["b"] => string(6) "banana"
["c"] => string(5) "apple"
}
array(6) {
[4] => int(10)
[3] => int(9)
[5] => int(7)
[0] => int(4)
[1] => int(2)
[2] => int(1)
}
asort
配列をソートし、インデックス関係を維持
asort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
この関数は配列をソートし、配列のインデックスはセルの関連付けを維持します.主に,それらのセル順序が重要な結合配列をソートするために用いられる.
例:
$fruits = ['d' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple'];
asort($fruits);
dump($fruits);
$nums = [4, 2, 1, 9, 10, 7];
asort($nums);
dump($nums);
出力:
array(4) {
["c"] => string(5) "apple"
["b"] => string(6) "banana"
["d"] => string(5) "lemon"
["a"] => string(6) "orange"
}
array(6) {
[2] => int(1)
[1] => int(2)
[0] => int(4)
[5] => int(7)
[3] => int(9)
[4] => int(10)
}
count
配列内のセル数、またはオブジェクト内の属性の数を計算します.
count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
配列内のすべての要素の数、またはオブジェクト内のものを統計します.
例:
$arr = [1, 2, 3, 4, 5];
dump(count($arr));
出力:
int(5)
in_array
配列に値があるかどうかを確認します
in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool
例:
$arr = [1, 2, 3, 4, 5];
dump(in_array(1, $arr));
dump(in_array(10, $arr));
出力:
bool(true)
bool(false)
key_exists
array_key_exists()の別名
krsort
配列をキー名で逆ソート
krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
配列をキー名で逆ソートし、データへのキー名の関連付けを保持します.主に結合配列に使用されます.
例:
$arr = ['a' => 'apple', 'o' => 'orange', 's' => 'strawberry', 'b' => 'banana'];
krsort($arr);
dump($arr);
出力:
array(4) {
["s"] => string(10) "strawberry"
["o"] => string(6) "orange"
["b"] => string(6) "banana"
["a"] => string(5) "apple"
}
ksort
配列をキー名で並べ替える
ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
例:
$arr = ['a' => 'apple', 'o' => 'orange', 's' => 'strawberry', 'b' => 'banana'];
ksort($arr);
dump($arr);
出力:
array(4) {
["a"] => string(5) "apple"
["b"] => string(6) "banana"
["o"] => string(6) "orange"
["s"] => string(10) "strawberry"
}
list
配列の値を変数のセットに割り当てる
list ( mixed $var1 [, mixed $... ] ) : array
array()のように、これは本当の関数ではなく、言語構造です.list()は、単一の操作で変数のセットに値を割り当てることができます.
例:
$arr = ['coffee', 'brown', 'caffeine'];
//
list($drink, $color, $power) = $arr;
echo "$drink is $color and $power makes it special.
";
//
list(, , $power) = $arr;
echo "I need $power.";
出力:
coffee is brown and caffeine makes it special.
I need caffeine.
rsort
配列の逆ソート
rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
この関数は、配列を逆ソートします(最大~最低).
例:
$arr = [1, 3, 2, 5, 10];
rsort($arr);
dump($arr);
出力:
array(5) {
[0] => int(10)
[1] => int(5)
[2] => int(3)
[3] => int(2)
[4] => int(1)
}
sort
配列のソート
sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
この関数は配列をソートします.この関数が終了すると、配列ユニットは最低から最高に再配置されます.
例:
$arr = [1, 3, 2, 5, 10];
sort($arr);
dump($arr);
出力:
array(5) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
[3] => int(5)
[4] => int(10)
}
shuffle
配列を乱す
shuffle ( array &$array ) : bool
この関数は(ランダム配列ユニットの順序)配列を乱します.擬似乱数発生器を使用しており、暗号学の場合には適していません.
例:
$arr = [
['id' => 1, 'name' => 'paul', 'age' => 12],
['id' => 2, 'name' => 'jack', 'age' => 23],
['id' => 3, 'name' => 'jane', 'age' => 34],
['id' => 4, 'name' => 'lion', 'age' => 14],
];
shuffle($arr);
dump($arr);
出力:
array(4) {
[0] => array(3) {
["id"] => int(2)
["name"] => string(4) "jack"
["age"] => int(23)
}
[1] => array(3) {
["id"] => int(1)
["name"] => string(4) "paul"
["age"] => int(12)
}
[2] => array(3) {
["id"] => int(4)
["name"] => string(4) "lion"
["age"] => int(14)
}
[3] => array(3) {
["id"] => int(3)
["name"] => string(4) "jane"
["age"] => int(34)
}
}
usort
ユーザー定義の比較関数を使用して配列内の値をソートします.
usort ( array &$array , callable $value_compare_func ) : bool
この関数では、1つの配列の値をユーザー定義の比較関数でソートします.ソートする配列を異常な基準でソートする必要がある場合は、この関数を使用します.
例:
$arr = [
['id' => 1, 'name' => 'paul', 'age' => 12],
['id' => 2, 'name' => 'jack', 'age' => 23],
['id' => 3, 'name' => 'jane', 'age' => 34],
['id' => 4, 'name' => 'lion', 'age' => 14],
];
//
function mySort($stu1, $stu2) {
return $stu1['age'] < $stu2['age'];
}
usort($arr, 'mySort');
dump($arr);
出力:
array(4) {
[0] => array(3) {
["id"] => int(3)
["name"] => string(4) "jane"
["age"] => int(34)
}
[1] => array(3) {
["id"] => int(2)
["name"] => string(4) "jack"
["age"] => int(23)
}
[2] => array(3) {
["id"] => int(4)
["name"] => string(4) "lion"
["age"] => int(14)
}
[3] => array(3) {
["id"] => int(1)
["name"] => string(4) "paul"
["age"] => int(12)
}
}