図解でわかるPHP配列関数一覧
PHPの代表的な配列関数の一覧です。
キーを小文字(大文字)にする/array_change_key_case
新配列=array_change_key_case(配列);
array_change_key_caseという配列関数は、引数で与えられた配列のキーを、小文字に変換した配列を返します。小文字じゃなくて大文字にするには第二引数にCASE_UPPERを渡します。
小分けにする/array_chunk
新配列=array_chunk(配列,分割サイズ,キーの維持);
array_chunkは引数で与えられた配列を小さく分割する配列関数です。いくつずつに分けるのかを引数で指定します。戻り値は小分けになった配列の配列、つまり二次元配列になります。戻り値の配列のキーを振り直さないで保持したい場合は第三引数にtrueを指定します。
二次元配列から列を取得する/array_column
新配列=array_column(二次元配列,値の列,キーの列);
array_columnは二次元配列や多次元配列から、特定の位置の値だけを取り出して配列として返す関数です。第二引数で取り出す値の位置を指定し、第三引数を付けると取り出すキーの位置を指定できます。
キーと値を用意して配列を生成する/array_combine
新配列=array_combine(キーとなる配列,値となる配列);
array_combineはキーにする配列と値にする配列を引数に取り、新しい配列を生成する配列関数です。それぞれの配列の個数は合わせる必要があります。キーの配列の値が重複していると値は上書きされます。
値ごとの個数を数える/array_count_values
集計結果の配列=array_count_values(集計したい配列);
array_count_valuesは引数で与えられた配列の値の数を種類ごとに集計する配列関数です。結果としてキーが値、値が個数の配列を返します。
配列から配列を引き算する/array_diff
新配列=array_diff(配列,減らしたい値を持った配列);
これらの配列関数は、第一引数の配列から第二引数以降の配列を引き算する関数です。array_diffは値のみ、array_diff_keyはキーのみ、array_diff_assocは値とキーの両方が一致した要素が引き算されます。
同じ値の配列を生成する/array_fill
新配列=array_fill(開始位置,個数,値);
array_fillは新しい配列を作る関数です。第一引数に新しい配列の始まりのインデックス、第二引数に個数、第三引数に値を指定します。
キーを用意して配列を生成する/array_fill_keys
新配列=array_fill_keys(キーにする配列,値);
array_fill_keysは新しい配列を作る関数で、第一引数に新しい配列のキーになる配列、第二引数に値を指定します。
関数を使って選別する/array_filter
選別された配列=array_filter(配列,選別関数);
array_filterは配列の値を関数でふるいに掛けて、特定の要素を取り除く関数です。第二引数にはFALSE(ゼロや空文字)を返す関数を渡します。
キーと値を逆転する/array_flip
新配列=array_flip(配列);
array_flipは配列の値とキーを逆にした配列を返す関数です。真偽値などのキーに使えない値は無視され、重複した値は上書きされます。
共通項を抜き出す/array_intersect
新配列=array_intersect(配列,配列);
これらの配列関数は、第一引数の配列と第二引数以降の配列の共通項を配列で返す関数です。array_intersectは値のみ、array_intersect_keyはキーのみ、array_intersect_assocは値とキーの両方が共通である要素を返り値の配列に含めます。
キーを取得/array_keys
キーの配列=array_keys(配列);
array_keysは配列のキーを配列にして返す関数です。第二引数に値を指定するとその値と一致した要素のキーだけを取得します。
キーが存在するか/array_key_exists
真偽値=array_key_exists(キー,配列);
array_key_existsは第一引数の値が第二引数の配列のキーにあるかないかを調べる関数です。戻り値は真偽値です。
配列を合体する/array_merge
新配列=array_merge(配列,配列..);
array_mergeは引数の配列を合体させた配列を返す配列関数です。インデックスは0から振り直されます。文字列キーで重複があった場合は値は上書きされます。
各値に関数を適用する/array_map
関数適用後の配列=array_map(関数名,配列);
array_mapは第一引数の関数を第二引数の配列に対して実行し、その結果を新しい配列で返す配列関数です。第三引数以降は関数の引数として順番に与えられます。
配列数を増やす/array_pad
新配列=array_pad(元の配列,個数,値);
array_padは第一引数の配列の個数を第二引数の数に揃え、第三引数の値で満たす関数です。第二引数にマイナスを指定すると先頭から増えて満たされます。
配列から出す/array_pop&array_shift
取った値=array_pop(配列);
取った値=array_shift(配列);
array_popは配列の末尾を取る関数で、array_shiftは先頭を取る関数です。これらの配列関数は引数の配列を直接編集し、戻り値は取った値になります。
配列に入れる/array_push&array_unshift
配列の個数=array_push(配列,追加要素);
配列の個数=array_unshift(配列,追加要素);
array_pushは第一引数の配列の末尾、array_unshiftは先頭に第二引数以降の値を配列要素として追加する配列関数です。これらの配列関数は引数の配列を直接編集し、戻り値は追加後の配列の要素数になります。
キーをランダムに取得する/array_rand
キー=array_rand(配列);
array_randは第一引数の配列からランダムにキーを取得する関数です。第二引数に数値を指定するとその数だけ取得し、配列の形で返されます。
値を逆順にする/array_reverse
新配列=array_reverse(配列);
array_reverseは第一引数の配列の値の順序を逆順にした配列を返す関数です。
検索する/array_search
インデックス=array_search(検索値,配列);
array_searchは第一引数の値を第二引数の配列から検索して最初に見つかったインデックスを返す関数です。見つからなかった場合はfalseを返します。
切り取る/array_slice
新配列=array_slice(配列,切り始めの位置,切り取る個数);
array_sliceは第一引数の配列から連続した要素を切り取る配列関数です。第二引数で切り取り始める位置を指定し、第三引数で切り取る個数を指定します。戻り値の配列のインデックスは振り直されます。第二引数をマイナスにすると末尾を-1として数え始め、その位置から切り取ります。第三引数をマイナスにすると末尾を-1として数え始め、その位置の手前までを切り取ります。第四引数にtrueを指定すると元のインデックスを維持できます。
値を足し算&掛け算する/array_sum&array_product
計算結果=array_sum(配列);
計算結果=array_product(配列);
array_sumは配列の値をすべて足した結果を返す関数です。array_productは配列の値をすべて掛け合わせた結果を返します。
カット&ペースト/array_splice
新配列=array_splice(配列,切り取り位置,切り取る個数,ペーストする配列);
array_spliceは第一引数の配列をカット&ペーストする配列関数です。第二引数でカットする位置を指定し、第三引数でいくつカットするかを指定し、第四引数にペーストする配列を指定します。この配列関数は引数の配列を直接編集し、戻り値はカットした部分の配列になります。array_sliceと同様にマイナスの値を指定することもできます。
重複を除く/array_unique
新配列=array_unique(配列);
array_uniqueは同じ値を削除する配列関数です。キーは維持されます。
数値の添字にする/array_values
新配列=array_values(配列);
array_valuesは配列を数値添字の配列にして返す配列関数です。添字は0から振り直されます。