配列の重複を取り除く PHP
基本的な考え方は、Perl版と同じです。
配列の要素をハッシュのキーとし、
このハッシュのキーを配列に戻す。
配列の要素をハッシュのキーとし、
このハッシュのキーを配列に戻す。
<html>
<body>
<h1>全データ</h1>
<?
$prefs = array (<body>
<h1>全データ</h1>
<?
'千葉県',
'東京都',
'神奈川県',
'埼玉県',
'千葉県',
'茨城県',
'栃木県',
'群馬県',
'千葉県',
'栃木県');
$unique = array ();
#
# 配列の要素をハッシュのキーとし、
# ハッシュの値に1を加算する
#
foreach ($prefs as $pref ) {# 配列の要素をハッシュのキーとし、
# ハッシュの値に1を加算する
#
$unique[$pref] += 1;
print "$pref
}
?>
<h1>重複データ</h1>
<?
<h1>重複データ</h1>
<?
#
# ハッシュの要素をキーと値に分ける
#
while (list($key, $value) = each($unique)) {# ハッシュの要素をキーと値に分ける
#
# 値が1より大きい? (重複)
if (1 < $value) {
#ハッシュのキーと値を出力
print "$key = $value<br>";
}
}
?>
<h1>重複なしデータ</h1>
<?
<h1>重複なしデータ</h1>
<?
#
# ハッシュのキーのみを配列に返す
# 配列は上書きされる
#
$prefs = array_keys($unique);# ハッシュのキーのみを配列に返す
# 配列は上書きされる
#
#
# 重複除去後の配列を出力
#
foreach ($prefs as $pref) {# 重複除去後の配列を出力
#
print "$pref<br>";
}
?>
# 配列の初期化
#