Es findet höchstens 1 Ersetzung statt, da maximal 1 Name vorkommen kann. Ich hab das Skript nach deinen Tips umgebaut, ich glaube das ist jetzt das Optimum ;-)
<?php
$searcharr = array (
array ('Hans', 'Werner', 'Heini'),
array ('Susi', 'Strolchi', 'Marie'),
array ('Margot', 'Timo', 'Lisi'),
);
$replacearr = array (
'Muenchen',
'Hamburg',
'Berlin',
);
$string = 'Hallo Hans';
$arrsize = count($replacearr);
for ($i = 0; $i < $arrsize; $i++) {
$string = str_replace($searcharr[$i], $replacearr[$i], $string, $count);
if ($count == 1) {break;}
}
echo $string;
?>