50, "Mary" => 30, "Peter"/> 50, "Mary" => 30, "Peter">

Maison  >  Article  >  développement back-end  >  Comment diviser deux tableaux en php

Comment diviser deux tableaux en php

PHPz
PHPzoriginal
2023-04-20 10:14:51632parcourir

Dans le développement Web, nous devons souvent effectuer des calculs sur certains tableaux. L'une des opérations courantes consiste à diviser deux tableaux. Cet article explique comment implémenter l'opération de division de deux tableaux en PHP.

En PHP, nous pouvons construire un tableau en utilisant le nom de clé du tableau comme index et la valeur clé du tableau comme élément. Par exemple, voici un tableau utilisé pour stocker les données de ventes :

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

Le tableau ci-dessus indique que John a vendu 50 articles, Mary a vendu 30 articles et Peter a vendu 20 articles.

Supposons que nous voulions calculer la proportion des ventes de ces vendeurs par rapport aux ventes totales. Nous devons d'abord calculer les ventes totales, puis calculer la proportion des ventes de chaque vendeur séparément.

Tout d'abord, nous pouvons utiliser la fonction array_sum() pour calculer la somme de tous les éléments du tableau afin d'obtenir le total des ventes. Le code est le suivant : 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);
Ensuite, nous pouvons utiliser la fonction array_map() pour traiter les ventes de chaque vendeur et les diviser par les ventes totales pour obtenir la proportion des ventes de chaque vendeur. Le code est le suivant :

Array
(
    [John] => 0.5
    [Mary] => 0.3
    [Peter] => 0.2
)
Le code ci-dessus utilise une fonction anonyme qui reçoit le volume des ventes de chaque vendeur comme paramètre et le divise par le total des ventes pour obtenir le ratio des ventes. Utilisez le mot-clé use pour que la fonction anonyme utilise la variable externe $total_sales.

Enfin, nous pouvons utiliser la fonction array_combine() pour combiner les deux tableaux pour obtenir le résultat final. Le code est le suivant :

rrreee

Le code ci-dessus utilise la fonction array_keys() pour obtenir tous les noms de clés du tableau $sales et le passe comme premier paramètre à La fonction array_combine() utilise le ratio de ventes calculé comme deuxième paramètre. Cette fonction combine les noms de clés et les valeurs de clés dans un tableau associatif, qui est le tableau de résultats final.

Le code complet est le suivant :

rrreee

Le résultat de sortie est : 🎜rrreee🎜Les résultats ci-dessus indiquent que les ventes de John représentent 50 % des ventes totales, les ventes de Mary représentent 30 % des ventes totales et les ventes de Peter représentent au total 20% des ventes. 🎜🎜Dans le développement réel, nous devrons peut-être effectuer des opérations de division sur des tableaux plus complexes, tels que des tableaux multidimensionnels ou des tableaux de différentes longueurs. Dans ce cas, nous pouvons utiliser des boucles ou la récursivité pour implémenter l'opération de division. 🎜🎜En bref, PHP fournit une multitude de fonctions et de fonctionnalités de langage qui peuvent facilement implémenter diverses opérations sur les tableaux, y compris les opérations de division. Je pense qu'en étudiant cet article, vous maîtrisez les méthodes et techniques de division des tableaux PHP. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn