Heim  >  Artikel  >  Backend-Entwicklung  >  So teilen Sie zwei Arrays in PHP

So teilen Sie zwei Arrays in PHP

PHPz
PHPzOriginal
2023-04-20 10:14:51632Durchsuche

In der Webentwicklung müssen wir häufig Berechnungen für einige Arrays durchführen. Eine der häufigsten Operationen besteht darin, zwei Arrays zu teilen. In diesem Artikel wird erläutert, wie die Divisionsoperation zweier Arrays in PHP implementiert wird.

In PHP können wir ein Array erstellen, indem wir den Schlüsselnamen des Arrays als Index und den Schlüsselwert des Arrays als Element verwenden. Das folgende Array ist beispielsweise ein Array, das zum Speichern von Verkaufsdaten verwendet wird:

$sales = [
    "John" => 50,
    "Mary" => 30,
    "Peter" => 20,
];

Das obige Array zeigt an, dass John 50 Artikel verkauft hat, Mary 30 Artikel verkauft hat und Peter 20 Artikel verkauft hat.

Angenommen, wir möchten den Umsatzanteil dieser Verkäufer am Gesamtumsatz berechnen. Wir müssen zuerst den Gesamtumsatz berechnen und dann den Umsatzanteil jedes Verkäufers separat berechnen.

Zunächst können wir die Funktion array_sum() verwenden, um die Summe aller Elemente im Array zu berechnen und so den Gesamtumsatz zu ermitteln. Der Code lautet wie folgt: array_sum()函数来计算数组中所有元素的和,从而得到总销售额。代码如下:

$total_sales = array_sum($sales);

接着,我们可以使用array_map()函数对每个销售员的销售额进行处理,将其除以总销售额,从而得到每个销售员的销售额所占比例。代码如下:

$sales_percentage = array_map(function($sales) use($total_sales) {
    return $sales / $total_sales;
}, $sales);

上述代码使用了一个匿名函数,该函数接收每个销售员的销售额作为参数,并将其除以总销售额,从而得到销售额所占比例。使用use关键字可以让匿名函数使用外部变量$total_sales

最后,我们可以使用array_combine()函数将两个数组合并,从而得到最终的结果。代码如下:

$result = array_combine(array_keys($sales), $sales_percentage);

上述代码使用了array_keys()函数获取$sales数组的所有键名,并将其作为第一个参数传递给array_combine()

$sales = [
    "John" => 50,
    "Mary" => 30,
    "Peter" => 20,
];
$total_sales = array_sum($sales);
$sales_percentage = array_map(function($sales) use($total_sales) {
    return $sales / $total_sales;
}, $sales);
$result = array_combine(array_keys($sales), $sales_percentage);
print_r($result);
Als nächstes können wir die Funktion array_map() verwenden, um die Verkäufe jedes Verkäufers zu verarbeiten und durch die Gesamtverkäufe zu dividieren, um den Umsatzanteil jedes Verkäufers zu erhalten. Der Code lautet wie folgt:

Array
(
    [John] => 0.5
    [Mary] => 0.3
    [Peter] => 0.2
)
Der obige Code verwendet eine anonyme Funktion, die das Verkaufsvolumen jedes Verkäufers als Parameter empfängt und es durch die Gesamtverkäufe dividiert, um die Verkaufsquote zu erhalten. Verwenden Sie das Schlüsselwort use, damit die anonyme Funktion die externe Variable $total_sales verwendet.

Schließlich können wir die Funktion array_combine() verwenden, um die beiden Arrays zu kombinieren, um das Endergebnis zu erhalten. Der Code lautet wie folgt:

rrreee

Der obige Code verwendet die Funktion array_keys(), um alle Schlüsselnamen des Arrays $sales abzurufen und übergibt sie als ersten Parameter zu Die Funktion array_combine() verwendet das berechnete Verkaufsverhältnis als zweiten Parameter. Diese Funktion kombiniert Schlüsselnamen und Schlüsselwerte zu einem assoziativen Array, dem endgültigen Ergebnisarray.

Der vollständige Code lautet wie folgt:

rrreee

Das Ausgabeergebnis lautet: 🎜rrreee🎜Die obigen Ergebnisse zeigen, dass Johns Verkäufe 50 % des Gesamtumsatzes ausmachen, Marys Verkäufe 30 % des Gesamtumsatzes und Peters Verkäufe machen insgesamt 20 % des Umsatzes aus. 🎜🎜In der tatsächlichen Entwicklung müssen wir möglicherweise Divisionsoperationen für komplexere Arrays durchführen, z. B. mehrdimensionale Arrays oder Arrays unterschiedlicher Länge. In diesem Fall können wir Schleifen oder Rekursion verwenden, um die Divisionsoperation zu implementieren. 🎜🎜Kurz gesagt, PHP bietet eine Fülle von Funktionen und Sprachfeatures, mit denen sich verschiedene Operationen auf Arrays, einschließlich Divisionsoperationen, problemlos implementieren lassen. Ich glaube, dass Sie durch das Studium dieses Artikels die Methoden und Techniken zur Aufteilung von PHP-Arrays beherrschen. 🎜

Das obige ist der detaillierte Inhalt vonSo teilen Sie zwei Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn