Moin!
Was mache ich falsch?
foreach ($fields as $field)
{
if (......)
$field = $field . $zusatz;
echo $field . "<br>";
}print_r ($fields);
Du änderst nicht den Array fields sondern nur die Variable field.
Du musst die Schlüssel des Arrays ermitteln und dann die Elemente damit adressieren:
"selbsterklärend:"
~~~php
<?php
$fields[1]='Hallo';
$fields[2]='Hallo';
$fields['foo']='Hallo';
$fields['bar']='Hallo';
$arKeys=[link:http://de3.php.net/manual/de/function.array-keys.php@title=array_keys]($fields);
foreach ($arKeys as $varKey) {
$fields[$varKey] .= ' Welt!';
}
print_r ($fields);
?>
~> php test.php
Array
(
[1] => Hallo Welt!
[2] => Hallo Welt!
[foo] => Hallo Welt!
[bar] => Hallo Welt!
)
Eine Zeile kürzer:
<?php
$fields[1]='Hallo';
$fields[2]='Hallo';
$fields['foo']='Hallo';
$fields['bar']='Hallo';
foreach (array_keys($fields) as $key) {
$fields[$key] .= ' Welt!';
}
print_r ($fields);
?>