我想打印重复的数组,例如:
$input = ['a', 'a', 'b'];
$output = array_unique($input);
echo $output;
我在php中在线运行代码,但输出如下。
Array
如何回显“ A”,因为“ A”是上面数组中的重复字母?
答案 0 :(得分:0)
您的代码有效,您无法使用'echo'语句打印整个数组。如所写,您可以打印$ output的各个元素(例如echo $ output [0];或echo $ output [1];)。如果要打印整个数组,请使用print_r($ output);。或var_dump($ output);
答案 1 :(得分:0)
Array_unique不会为您提供该信息,只会删除重复项。
如果您使用array_count_values对值进行计数,然后使用array_diff获得 not 1,那么代码将返回重复的项。
但是它将返回它们的键,因此请使用array_keys将其作为值。
$input = ['a', 'a', 'b'];
$count = array_count_values($input);
$duplicated = array_keys(array_diff($count, [1]));
var_export($duplicated);
您还可以通过以下方式回显重复项:
echo implode(", ", $duplicated);
答案 2 :(得分:0)
只需使用array_diff
或array_diff_assoc
来计算两个数组。 (使用array_unique
删除重复项前后)
示例:
$array = ['a','b','c'];
$array2 = $array;
echo "<pre>";
var_dump($array);
echo "</pre>";
$array = array_unique($array);
$diff = array_diff_assoc($array2,$array);
echo '<hr>Diff : ';
echo "<pre>";
var_dump($diff);
echo "</pre>";
exit();
在这里查看结果。