User Tools

Site Tools


php:functions:array:aprintf

[PHP] aprintf()

Eine kleine Funktion, die ein sprintf() auf jedes Index/Werte-Paar eines Arrays anwendet.

Code

aprintf
<?php
/**
 * mpl      by ERB software
 * @author  stefan.erb(at)erb-software.com
 * @since   PHP 5.2
 */
 
/**
 * wendet sprintf auf jedes Element an.
 * Das erste Argument ist der Value, das 2te der Index
 * @param  <String>           $format ein sprintf-Formatstring
 * @param  <Array<Variant>    $array
 * @return <Array<String>
 */
function aprintf($format, $array){
	foreach($array as $index => &$item){
		$item = sprintf($format, $item, $index);
	}
	return $array;
}
 
?>

Einige Beispiele

<pre>
<?php
include('aprintf.php');
 
$a['ai'] = 'A1';
$a['bii'] = 'B2';
 
echo("Nur den Value verarbeiten: aprintf('Hallo %s Welt', \$a)\n");
print_r(aprintf('Hallo %s Welt', $a));
 
echo("Wert und Index verarbeiten: aprintf('Der Wert %s hat den Index %s', \$a)\n");
print_r(aprintf('Der Wert %s hat den Index %s', $a));
 
echo("Der Index wird vor dem Wert ausgegeben: aprintf('Der Index %2\$s hat den Wert %1\$s', \$a)\n");
print_r(aprintf('Der Index %2$s hat den Wert %1$s', $a));
 
echo("Der ursprüngliche Array hat sich nicht verändert:\n");
print_r($a);
?> 
</pre>

Und dessen Ausgabe

Nur den Value verarbeiten: aprintf('Hallo %s Welt', $a)
Array
(
	[ai] => Hallo A1 Welt
	[bii] => Hallo B2 Welt
)
Wert und Index verarbeiten: aprintf('Der Wert %s hat den Index %s', $a)
Array
(
	[ai] => Der Wert A1 hat den Index ai
	[bii] => Der Wert B2 hat den Index bii
)
Der Index wird vor dem Wert ausgegeben: aprintf('Der Index %2$s hat den Wert %1$s', $a)
Array
(
	[ai] => Der Index ai hat den Wert A1
	[bii] => Der Index bii hat den Wert B2
)
Der ursprüngliche Array hat sich nicht verändert:
Array
(
	[ai] => A1
	[bii] => B2
)
php/functions/array/aprintf.txt · Last modified: 09.12.2013 09:39:54 (external edit)