online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon bl00dy vom 06.05.2020, 20:53 Options

(PHP) Array multiplizieren.

Hallo Zusammen.

Folgendes: Ich habe zwei numerische Arrays die NUR Zahlen enthalten. ($zahlenkette1 und 2)

Jetzt muss ich die erste Zahl aus $zahlenkette1 mit der ersten Zahl aus $zahlenkette2 multiplizieren und zweite mit zweite undso weiter. Das Ergebniss soll an die gleiche Position in ein drittes Array gespeichert werden.

Ich hab es so versucht, nur ist das Ergebniss ein Array mit lauter 0len.


for ($i=0;$i <= $counter; $i++)
{

ergebniss[$i] = (($zahlenkette1[$i])*($zahlenkette2[$i]));

}

Hoffe jemand weis Rat.

Gruss Bl00dy


Antwort schreiben

Antwort 1 von rabies vom 06.05.2020, 22:02 Options

Moin.

Folgendes sollte Deine Aufgabe erledigen:
function multiplicate($n1, $n2) {
	return $n1 * $n2;
}

$numbers_1 = array(1, 2, 3, 4, 5, 6, 7);
$numbers_2 = array(1, 2, 3, 4, 5, 6, 7);

$numbers_product = array_map("multiplicate", $numbers_1, $numbers_2);

print_r($numbers_product);


Die Funktion array_map ruft für jedes Element in $numbers_1 und $numbers_2 die Funktion "multiplicate" auf. Diese liefert das Produkt aus $n1 und $n2 an $numbers_product zurück, welches schlussendlich sämtliche Produkte speichert.

--rabies.

Antwort 2 von rabies vom 07.05.2020, 00:19 Options

Mein Englisch lässt wirklich zu wünschen übrig. Multiply wäre natürlich schöner gewesen, als ein gedachtes "multiplicate".

Asche auf mein Haupt,
--rabies.

Antwort 3 von bl00dy vom 07.05.2020, 07:28 Options

Danke rabies

Eine ziemlich nette Lösung.
Danke funktioniert jetzt wie ich es brauche :).

Gruss bl00dy

Antwort 4 von bl00dy vom 08.05.2020, 16:55 Options

Hallo Zusammen, nochmal ich

Wie geschrieben funktioniert die Lösung von rabies.
Doch nun stehe ich vor dem Problem, dass ich ein Array habe das folgendermassen aussieht:

Array([0] =>Array([schlüssel1] =>1[schlüssel2]=>4) ... und so weiter.

Nun will ich wie schon oben statt 2 verschiedenen Arrays die beiden "schlüssel" Arrays mit einander multiplizieren.

leider Funktioniert:

function multiplicate($n1, $n2) {
return $n1 * $n2;
}

$numbers_1 = array(1, 2, 3, 4, 5, 6, 7);
$numbers_2 = array(1, 2, 3, 4, 5, 6, 7);

$numbers_product = array_map("multiplicate", $numbers[schlüssel1, $numbers[schlüssel2);

print_r($numbers_product);


nicht...

Auf http://de.php.net/array habe ich keine Lösung gefunden wie ich z.b. die Schlüssel Arrays in einzelne Arrays umwandle oder wie ich diese Problem lösen kann.

Bin für alle Antworten dankbar.

Danke und Gruss Bl00dy

Antwort 5 von rabies vom 09.05.2020, 11:18 Options

function multiply($n) {
	return reset($n) * end($n);
	// oder auch moeglich: 
	// return $n['schlussel1'] * $n['schluessel2'];
}

$numbers = array( 
	array('schluessel1' => 1, 'schluessel2' => 2), 
	array('schluessel1' => 3, 'schluessel2' => 4), 
	array('schluessel1' => 5, 'schluessel2' => 6), 
	array('schluessel1' => 7, 'schluessel2' => 8) 
);
$numbers_product = array_map("multiply", $numbers);


reset setzt den internen Zeiger des Arrays auf sein erstes Element, end, man glaube es kaum, auf das letzte Element. So wird das erste und letzte Element von $n, was wiederum einer der Arrays aus $numbers ist, miteinander multipliziert.

--rabies.

Ähnliche Themen

Einfache SQL-Abfrage - steh aufm Schlauch!
Richard1000  11.02.2007 - 79 Hits - 1 Antwort

Problem mit PhP
Firefighter-nb  16.04.2007 - 150 Hits - 1 Antwort

array[] über echo an $variable übergeben
mexx  18.11.2007 - 129 Hits - 1 Antwort

Mehrdimensionales Array
gast4  29.11.2007 - 104 Hits - 5 Antworten

schleifen
ZapT  09.12.2007 - 87 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026