我想从数组a中删除重复值并获取没有重复值的新数组b。出了什么问题。 HELP !!!
<?php
$a = array('pasta','vegetables','vegetables','salad','salad');
$b=array();
for ($i=0;$i<=count($a);$i++){
if(!in_array($b,$a[$i])){
array_push($b,$a[$i]);
}
}
print_r($b);
?>
答案 0 :(得分:1)
你应该试试这个
$a = array('pasta','vegetables','vegetables','salad','salad');
echo '<pre>';
echo 'Array A <br>';
print_r($a);
echo '<br> After removing duplicate value array B<br>';
$b=array_unique($a);
print_r($b);
答案 1 :(得分:0)
在您的代码中,您需要进行2次更改...
1)运行for $i<count($a)
而不是$i<=count($a)
的for循环,因为你以零开始$i
所以你需要为一个小于count($a)
<的计数器运行for循环/ p>
2)它将if(!in_array($a[$i], $b))
代替if(!in_array($b,$a[$i]))
,因为您需要找到已在新数组$a
中推送的$b
数组元素
所以你的代码将是:
<?php
$a = array('pasta','vegetables','vegetables','salad','salad');
$b=array();
for ($i=0;$i<count($a);$i++){
if(!in_array($a[$i], $b)){
array_push($b,$a[$i]);
}
}
print_r($b);
?>
如果我的回答有任何不妥之处或者您需要进一步澄清,请告诉我。祝您好运!