好的,我很确定有一个简单的解决方案,我在这方面遗漏了一些东西,但是
假设我有一个简单的数组:
Array
(
[0] => 79990
[1] => 79040
[2] => 79100
[3] => 79990
[4] => 79490
[5] => 79290
[6] => 79990
)
0,3和6是相同的值
如何在foreach循环上标记/突出显示这些值?结果应该是这样的:
Array
(
[0] => *79990*
[1] => 79040
[2] => 79100
[3] => *79990*
[4] => 79490
[5] => 79290
[6] => *79990*
)
编辑:拼写错误
答案 0 :(得分:2)
这应该可以解决问题:
<?php
$array = array( '79900',
'79040',
'79100',
'79990',
'79490',
'79290',
'79990');
$count = array_count_values($array);
echo "<pre>".print_r($array, true)."</pre>";
foreach($array as $val)
{
if($count[$val]>1) {
$output[] = "*".$val."*";
} else {
$output[] = $val;
}
}
echo "<pre>".print_r($output, true)."</pre>";
?>
输出:
Array
(
[0] => 79900
[1] => 79040
[2] => 79100
[3] => 79990
[4] => 79490
[5] => 79290
[6] => 79990
)
Array
(
[0] => 79900
[1] => 79040
[2] => 79100
[3] => *79990*
[4] => 79490
[5] => 79290
[6] => *79990*
)
注意:你的[0]实际上与[3]和[6]不一样,但我认为这只是一个错字
让我知道你是怎么过的!
答案 1 :(得分:0)
$array = array("79900","79040","79100","79990","79490","79290","79990");
$count = array_count_values( $array );
$list = array();
foreach( $count as $index => $value ){
if( $value > 1 ){
$list[] = "*" . $index . "*";
}else{
$list[] = $index;
}
}
请注意,重复索引已删除