は行くための最も簡単な方法ですが、場合には、あなたが探しているものを達成するためにどのように把握する必要があり、ここでは詳細なバージョンがあります。
$input = array(1, 2, 3, 4, 1);
$unique = array_unique($input);
// If $input and $unique are different in length,
// there is one or more repeating values
if (count($input) !== count($unique)) {
$repeat = array();
// Sort values in order to have equal values next to each other
sort($input);
for ($i = 1; $i < count($input) - 1; $i++) {
// If two adjacent numbers are equal, that's a repeating number.
// Add that to the pile of repeated input, disregarding (at this stage)
// whether it is there already for simplicity.
if ($input[$i] === $input[$i - 1]) {
$repeat[] = $input[$i];
}
}
// Finally filter out any duplicates from the repeated values
$repeat = array_unique($repeat);
echo implode(', ', $repeat);
} else {
// All unique, display all
echo implode(', ', $input);
}
簡潔なワンライナーっぽいバージョンは次のようになります。私は私の質問に誤りがあり
$input = array(1, 2, 3, 4, 1);
$repeat = array_keys(
array_filter(
array_count_values($input),
function ($freq) { return $freq > 1; }
)
);
echo count($repeat) > 0
? implode(', ', $repeat)
: implode(', ', $input);
ホッパが、私は申し訳ありませんが、代わりにURLでURLから意味、そしてあなたが私を助けることができますコード? pleasecanあなたが私を助け、それは非常に重要ですplease – UGD
少なくとも、サンプルURLを提供する必要があります。 – hoppa
これは全体のコードです*私はそれを修正しました)...しかし、動作しません... – UGD