Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
array_unique() / array_reverse() / array_pad()対応: PHP 4(2000)
配列から重複を削除したり、要素の順序を反転したり、指定した長さに拡張する関数です。
構文
// 配列から重複する値を削除します。 array_unique(配列, ソートフラグ); // 配列の要素の順序を反転します。 array_reverse(配列, キーを保持するか); // 配列を指定した長さまで値で埋めて拡張します。 array_pad(配列, サイズ, 埋める値); // 指定した値で配列を埋めて作成します。 array_fill(開始インデックス, 数, 値);
関数一覧
| 関数 | 概要 |
|---|---|
| array_unique($array, $flags) | 配列から重複する値を削除して返します。最初に出現した要素のキーが保持されます。 |
| array_reverse($array, $preserve_keys) | 配列の要素の順序を逆にした新しい配列を返します。 |
| array_pad($array, $size, $value) | 配列を指定した長さまで値で埋めて返します。正の値なら末尾、負の値なら先頭に追加されます。 |
| array_fill($start_index, $count, $value) | 指定した値で埋められた配列を作成して返します。 |
サンプルコード
<?php // 重複する値を削除します。 $tags = ['PHP', 'HTML', 'CSS', 'PHP', 'JavaScript', 'HTML']; $unique = array_unique($tags); print_r($unique); // 重複が削除されて4つになります。 // キーが飛び飛びになるため、array_valuesで振り直します。 $clean = array_values($unique); print_r($clean); // キーが0から連番になります。 // 配列の順序を反転します。 $ranking = ['金', '銀', '銅']; $reversed = array_reverse($ranking); print_r($reversed); // 『銅, 銀, 金』の順に反転します。 // 配列を指定した長さに拡張します。 $scores = [80, 90, 70]; $padded_right = array_pad($scores, 5, 0); print_r($padded_right); // 末尾に0が追加されて5要素になります。 $padded_left = array_pad($scores, -5, 0); print_r($padded_left); // 先頭に0が追加されて5要素になります。 // 指定した値で配列を作成します。 $zeros = array_fill(0, 5, 0); print_r($zeros); // 『0』が5つの配列が作成されます。
概要
『array_unique()』は配列内の重複する値を削除しますが、元のキーはそのまま保持されるため、キーが飛び飛びになります。連番のキーが必要な場合は『array_values()』と組み合わせて使用してください。比較はデフォルトで文字列として行われますが、第2引数に『SORT_REGULAR』を渡すと型変換せずに比較できます。
『array_reverse()』は配列の要素を逆順にした新しい配列を返します。第2引数に『true』を渡すと元のキーが保持されます。ソートされた配列の順序を反転させたい場合にも使用します。
『array_pad()』はサイズが負の値の場合は先頭から埋め、正の値の場合は末尾から埋めます。配列がすでに指定したサイズ以上の場合は何も変更されません。『array_fill()』は初期値が同じ配列を手軽に作成できる関数です。
配列の並べ替えについては『sort() / rsort()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。