如何从preg_match_all生成的数组中删除重复项?
Array
(
Array
(
'font-family: "Comic Sans";',
'font-weight: bold;',
'font-weight: normal;',
'font-family: "Comic Sans";',
'font-weight: normal;'
)
Array
(
'font-family',
'font-weight',
'font-weight',
'font-family',
'font-weight'
)
Array
(
'"Comic Sans"',
'bold',
'normal',
'"Comic Sans"',
'normal'
)
)
如您所见,有几个重复的值。没有重复值的新数组应该如下所示。
Array
(
Array
(
font-family: "Comic Sans",
font-weight: bold,
font-weight: normal,
)
Array
(
font-family,
font-weight,
font-weight
)
Array
(
"Comic Sans",
bold,
normal
)
)
我知道我可以用foreach做到这一点,但我确信有更好的方法来完成这个结果。我有什么看法?
答案 0 :(得分:2)
您可以通过以下方式完成:
//$rgData comes from preg_match_all
$rgResult = array_map('array_unique', $rgData);
答案 1 :(得分:1)
尝试使用array_unique函数
http://www.php.net/manual/en/function.array-unique.php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
输出
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
答案 2 :(得分:0)
使用:
<?php
foreach($array as $key=>$each) {
$array[$key] = array_unique($each);
}
print_r($array);
?>
答案 3 :(得分:0)
试试这个:
foreach($yourArray as $array){
$array = array_unique($array);
}