戻る

配列内から重複データを除去する(参考)

PHP

array_unique()関数は配列内の重複したデータを取り除きます。この関数は配列内のデータを値ごとにグループ化し、グループ内の重複しているデータを1つにまとめて、その結果を配列として返します。重複したデータがなければ、もとの配列と返り値の配列は同じ内容になります。また、配列内のデータは「文字列」として比較されるため、文字の「"10"」と数値の「10」は同じと判断されます。

<?php
header("Content-type: text/html; charset=utf-8");

$team = array("ブラジル","イタリア","アルゼンチン","フランス",
			"イングランド","イタリア","イタリア","フランス");
			
echo "重複データを含む配列のデータ<br>";
foreach($team as $data){
	echo $data . "<br>";
}

echo "<br>";

$unique = array_unique($team);

echo "重複データ除去した配列のデータ<br>";
foreach($unique as $data){
	echo $data . "<br>";
}
?>

関数を使わずに配列の重複を除去する場合

<?php
header("Content-type: text/plain; charset=utf-8");

$team = array("ブラジル","イタリア","アルゼンチン","フランス",
		"イングランド","イタリア","イタリア","フランス");
		
$unique = array();
$i = 0;
$flg = FALSE;
foreach($team as $data1){
	if($i == 0){
		array_push($unique,$data1);
	}
	else{
		foreach($unique as $data2){
			if($data1 == $data2){
				$flg = TRUE;
			}
		}
		
		if($flg == FALSE){
			array_push($unique,$data1);
		}
	}
	
	$flg = FALSE;
	$i++;
}

var_dump($unique);
?>

inserted by FC2 system