Giusto per giocare un altro paio di soluzioni. Queste però intercettano anche valori presenti più di una volta.
Codice PHP:
<?php
function MarcaTrovati($lista,$ricerca){
foreach($ricerca as $rvalue)
foreach($lista as $lkey=>$lvalue)
$lista[$lkey].=($rvalue==$lvalue?'*':'');
return $lista;
}
function MarcaTrovati2($lista,$ricerca){
$pos = array_intersect($lista, $ricerca);
foreach($pos as $key=>$value)
$lista[$key].='*';
return $lista;
}
$lista = array("mela","banana","pera","arancia","mela");
$ricerca = array("mela","pera");
var_dump(MarcaTrovati($lista, $ricerca));
var_dump(MarcaTrovati2($lista, $ricerca));
?>
Output:
codice:
array (size=5)
0 => string 'mela*' (length=5)
1 => string 'banana' (length=6)
2 => string 'pera*' (length=5)
3 => string 'arancia' (length=7)
4 => string 'mela*' (length=5)
array (size=5)
0 => string 'mela*' (length=5)
1 => string 'banana' (length=6)
2 => string 'pera*' (length=5)
3 => string 'arancia' (length=7)
4 => string 'mela*' (length=5)