PHPのarray_unique()
関数は、配列から、重複する値の要素を取り除く組み込み関数。
重複する値の要素は、最初のひとつだけ残し、他はすべて削除する。
キーは、保持する。
定義
配列型 array_unique( 配列型 $array[, 整数型 $sort_flags] );
パラメータ
- 配列型 $array
重複する値の要素を取り除く対象の配列。
- 整数型 $sort_flags
オプション。
等価比較の際の、型の取り扱いに関するフラグ。
- SORT_REGULAR: 型変換をしない、通常の比較。
- SORT_NUMERIC: 数値として比較。
- SORT_STRING: 文字列として比較。
- SORT_LOCALE_STRING: ロカール環境に基づいた文字列比較。
戻り値
「配列型 $array」から、重複する値を取り除いた配列。
構文
配列から重複する値を取り除く
重複削除後の配列 = array_unique( 配列 );
「配列」から、重複する値を取り除く。
サンプル
配列から重複する値を取り除く
<pre>
<?php
$varArray = array( "Red", "Red", "Blue", "Red", "Blue", "Green", "Green" );
print_r( array_unique( $varArray ) );
?>
</pre>
<?php
$varArray = array( "Red", "Red", "Blue", "Red", "Blue", "Green", "Green" );
print_r( array_unique( $varArray ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Red
[2] => Blue
[5] => Green
)
(
[0] => Red
[2] => Blue
[5] => Green
)
キーは、保持されている点に注目。
連想配列から重複する値を取り除く
<pre>
<?php
$varArray = array(
"a" => "Red",
"b" => "Red",
"c" => "Blue",
"d" => "Red",
"e" => "Blue",
"f" => "Green",
"g" => "Green"
);
print_r( array_unique( $varArray ) );
?>
</pre>
<?php
$varArray = array(
"a" => "Red",
"b" => "Red",
"c" => "Blue",
"d" => "Red",
"e" => "Blue",
"f" => "Green",
"g" => "Green"
);
print_r( array_unique( $varArray ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[a] => Red
[c] => Blue
[f] => Green
)
(
[a] => Red
[c] => Blue
[f] => Green
)
配列から重複する値を取り除く(数字)
<pre>
<?php
$varArray = array( 1, "2", 3, "1", 2, "3" );
print_r( array_unique( $varArray ) );
?>
</pre>
<?php
$varArray = array( 1, "2", 3, "1", 2, "3" );
print_r( array_unique( $varArray ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 1
[1] => 2
[2] => 3
)
(
[0] => 1
[1] => 2
[2] => 3
)
整数型の1
と、文字列型の"1"
が、重複していると判断し、取り除いている点に注目。