anpera.net
https://anpera.dyndns.org/phpbb3/

Arrays bearbeiten
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3721
Seite 1 von 1

Autor:  Setsna [ So 17 Jun, 2007 21:54 ]
Betreff des Beitrags:  Arrays bearbeiten

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

Autor:  Eliwood [ So 17 Jun, 2007 22:16 ]
Betreff des Beitrags:  Re: Arrays bearbeiten

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; }"

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/