User Tools

Site Tools


php:functions:array:arrayenclose

[PHP] array_enclose()

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.

code

array_enclose.php
<?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

php/functions/array/arrayenclose.txt · Last modified: 09.12.2013 09:39:54 (external edit)