PHP 重複した値を算出する
PHPのサンプルコードでよいものを見つけたので、書いておきます。
出典:http://www.php.net/manual/ja/function.array-intersect.php
2つの配列の、重複した値を見つけるのは、array_intersectなどを使えばできますが、これが動的に出力される配列だったり、配列の長さが事前にわからない場合、利用しにくいです。
そんな時、次のように配列を比較すると、重複する値を出してくれます。
それぞれの配列の中には、重複する値がないことが前提です。
faharanikさんに感謝!
<?php // $arrays - Array of arrays to intersect. function calculate_intersection($arrays) { $intersection = Array(); for($checked_item = 0; $checked_item < count($arrays[0]); $checked_item++) { $occurrence = 1; for($compared_array = 1; $compared_array < count($arrays); $compared_array++) { for($compared_item = 0; $compared_item < count($arrays[$compared_array]); $compared_item++) { if($arrays[0][$checked_item] == $arrays[$compared_array][$compared_item]) { $occurrence++; if($occurrence == count($arrays)) { $intersection[] = $arrays[0][$checked_item]; } } } } } return $intersection; } ?>