Eine nette kleine Funktion um alle Elemente eines Arrays zu umschliessen.
Wenn man die Funktion [PHP] aprintf() bereits implentiert hat, kann man das natürlich auch darüber machen.
<?php /** * mpl by ERB software * @author stefan.erb(at)erb-software.com * @since PHP 5.2 */ /** * Umschlisst jedes Element eines Arrays mit Prefix und Suffix * @example $newArray = array_enclose($oldArray, '(', ')'); * @example $newArray = array_enclose($oldArray, '\''); * @param <Array<String>> $array Der Array dessen Elemtente umschlossen werden sollen * @param <String> $prefix * @param <String> $suffix Wenn nicht abgefüllt, wird der Prefix auch als Suffix übernommen * @return <Array<String>> */ function array_enclose($array, $prefix, $suffix = false){ if($suffix === false) $suffix = $prefix; foreach($array as $index => &$item){ $item = $prefix . $item . $suffix; } return $array; } ?>
Hier ein Anwendungsbeispiel
<pre> <?php include('array_enclose.php'); $a['ai'] = 'A1'; $a['bii'] = 'B2'; echo("Alle Werte mit einer Klammer umschliessen: array_enclose(\$a, '(', ')')\n"); print_r(array_enclose($a, '(', ')')); echo("Alle Werte mit ' umschliessen: array_enclose(\$a, '\'')\n"); print_r(array_enclose($a, '\'')); echo("Nur am Anfang ein ' setzen: array_enclose(\$a, '(', ')', '')\n"); print_r(array_enclose($a, '\'', '')); echo("Der ursprüngliche Array hat sich nicht verändert:\n"); print_r($a); ?> </pre>
Ergibt das folgende Resultat
Alle Werte mit einer Klammer umschliessen: array_enclose($a, '(', ')') Array ( [ai] => (A1) [bii] => (B2) ) Alle Werte mit ' umschliessen: array_enclose($a, '\'',) Array ( [ai] => 'A1' [bii] => 'B2' ) Nur am Anfang ein ' setzen: array_enclose($a, '\'', '') Array ( [ai] => 'A1 [bii] => 'B2 ) Der ursprüngliche Array hat sich nicht verändert: Array ( [ai] => A1 [bii] => B2 )
Man kann das natürlich auch mit der Funktion PhpArrayPrintF durchführen