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

 >  기사  >  백엔드 개발  >  PHP에서 두 배열을 나누는 방법

PHP에서 두 배열을 나누는 방법

PHPz
PHPz원래의
2023-04-20 10:14:51635검색

웹 개발에서는 일부 배열에 대해 계산을 수행해야 하는 경우가 많습니다. 일반적인 작업 중 하나는 두 개의 배열을 나누는 것입니다. 이 기사에서는 PHP에서 두 배열의 나누기 연산을 구현하는 방법을 소개합니다.

PHP에서는 배열의 키 이름을 인덱스로, 배열의 키 값을 요소로 사용하여 배열을 구성할 수 있습니다. 예를 들어, 다음은 판매 데이터를 저장하는 데 사용되는 배열입니다.

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

위 배열은 John이 50개 항목을 판매하고, Mary가 30개 항목을 판매하고, Peter가 20개 항목을 판매했음을 나타냅니다.

총 매출에서 이들 영업사원의 매출 비율을 계산하고 싶다고 가정해 보겠습니다. 먼저 총 매출을 계산한 다음 각 영업사원의 매출 비율을 별도로 계산해야 합니다.

먼저 array_sum() 함수를 사용하여 배열에 있는 모든 요소의 합계를 계산하여 총 매출을 얻을 수 있습니다. 코드는 다음과 같습니다. 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);
다음으로 array_map() 함수를 사용하여 각 영업사원의 매출을 처리하고 이를 총 매출로 나누어 각 영업사원의 매출 비율을 구할 수 있습니다. . 코드는 다음과 같습니다.

Array
(
    [John] => 0.5
    [Mary] => 0.3
    [Peter] => 0.2
)
위 코드는 각 영업사원의 판매량을 매개변수로 받아 전체 판매량으로 나누어 판매량 비율을 구하는 익명함수를 사용하고 있습니다. 익명 함수가 외부 변수 $total_sales를 사용하도록 하려면 use 키워드를 사용하세요.

마지막으로 array_combine() 함수를 사용하여 두 배열을 결합하여 최종 결과를 얻을 수 있습니다. 코드는 다음과 같습니다.

rrreee

위 코드는 array_keys() 함수를 사용하여 $sales 배열의 모든 키 이름을 가져와 첫 번째 매개변수로 전달합니다. to array_combine() 함수는 계산된 매출 비율을 두 번째 매개변수로 사용합니다. 이 함수는 키 이름과 키 값을 결합하여 최종 결과 배열인 연관 배열로 만듭니다.

완전한 코드는 다음과 같습니다.

rrreee

출력 결과는 다음과 같습니다. 🎜rrreee🎜위 결과는 John의 매출이 전체 매출의 50%, Mary의 매출이 전체 매출의 30%, Peter의 매출을 나타냅니다. 전체 매출의 20%를 차지한다. 🎜🎜실제 개발에서는 다차원 배열이나 길이가 다른 배열과 같은 더 복잡한 배열에 대해 나눗셈 연산을 수행해야 할 수도 있습니다. 이 경우 루프나 재귀를 사용하여 나누기 연산을 구현할 수 있습니다. 🎜🎜간단히 말하면, PHP는 나눗셈 연산을 포함하여 배열에 대한 다양한 연산을 쉽게 구현할 수 있는 풍부한 함수와 언어 기능을 제공합니다. 나는 이 글을 공부함으로써 당신은 PHP 배열을 나누는 방법과 기술을 마스터했다고 믿습니다. 🎜

위 내용은 PHP에서 두 배열을 나누는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.