Setsna hat geschrieben:
Grüße,
Wiedereinmal hat mich ein Arrayproblem ereilt, dessen Lösung vermutlich genau vor mir liegt, sich aber sorgsam in einem Grasbüschel versteckt.
Also, folgendes Beispiel
Angenommen ich habe folgenden Array
$bla = array("1", "2", "3", "4");
und möchte nun jede Zahl mit einem vorher gewählten Multiplikator multiplizieren.
Ich hatte mir die Idee ausgemalt, eine Schleife drumherum zu basteln die nach folgendem Prinzip arbeitet:
$this->bbcode_second_pass_code('', '
$bla = array("1", "2", "3", "4");
$mod = 0.8;
$i=0;
do {
array_splice($bla, $i,$i+1, "array_slice($bla, $i, $i+1)*$mod");
$i++;
} while ($i<4);')
Soweit so gut, der Schnipsel wirft zumindest keinen Fehler aus.
Das Problem ist nur, dass er auch ansonsten nichts auswirft, ausser "ARRAY", egal auf welche Art ich versuche ihn auszugeben.
Nun weiß ich also nichtmal, ob dort oben wirklich geschieht
Wiedermal mit Hoffnung auf Hilfe,
Setsna
Ungetestet, müsste aber gehen, solange der Multiplikator der gleiche ist:
[php]function array_modifier($val) {
return intval($val) * 0.8;
}
$newarray = array_map("array_modifier", array('4', '12', '15', '10'));
var_dump($newarray);[/php]
Ausgabe:
$this->bbcode_second_pass_code('', 'array(4) {
[0]=>
float(3.2)
[1]=>
float(9.6)
[2]=>
float(12)
[3]=>
float(8)
}
')
Ansonsten täte es doch auch ein einfacher "foreach($array as $key => $val) { $array[$key] = $val+0.8; }"