我正在浏览有关PHP的问题,其中一个问题让我卡住了。该问题是:
您有一个PHP一维数组。请编写一个PHP函数,以1个数组作为其参数并返回一个数组。该函数必须删除出现3次或更多的输入数组中的值?
例如,如果您给出以下数组:
array(1, 3, 5, 2, 6, 6, 6, 3, 1, 9)
则该函数将返回:
array(1, 3, 5, 2, 3, 1, 9)
我能够检查它们是否重复,但我将其应用于我获得的输入数组。
您有一个PHP一维数组。请编写一个PHP函数,以1个数组作为其参数并返回一个数组。该函数必须删除出现3次或更多的输入数组中的值?
例如,如果您给出以下数组:
array(1, 3, 5, 2, 6, 6, 6, 3, 1, 9)
则该函数将返回:
array(1, 3, 5, 2, 3, 1, 9)
我能够检查它们是否重复,但我将其应用于我获得的输入数组。
function removeDuplicate($array){
$result = array_count_values( $array );
$values = implode(" ", array_values($result));
echo $values . "<br>";
}
$qArray = array(1, 3, 5, 2, 6, 6, 6, 3, 1, 9);
removeDuplicate($qArray);
还有一件事,我们不能使用array_unique
因为它包含了重复的值,而在问题中我们需要完全将它们从当前数组中删除。
array_count_values()
之后,使用$values = array_filter($values, function($value) { return $value <= 3; })
。但是你的函数接下来需要返回array_keys($values)
。 - Mark Baker