[PHP] 다차원 연상 배열의 특정 요소의 합계를 구한다
개요
다차원 연상 배열의 특정 요소의 합계값을 구하는 샘플 코드
예를 들어 다음과 같은 다차원 연상 배열로 price의 합계를 구하는 경우
$vegetables = [
['name' => 'パセリ', 'price' => 100],
['name' => 'セロリ', 'price' => 200],
['name' => 'アブラナ', 'price' => 150]
];
코드
<?php
// PHP5.4未満だと配列の短縮構文が使えないため、従来の書き方にしておく(※内容は概要欄のものに同じ)
$vegetables = array(
array('name' => 'パセリ', 'price' => 100),
array('name' => 'セロリ', 'price' => 200),
array('name' => 'アブラナ', 'price' => 150)
);
echo "PHPのバージョンは" . phpversion() . "です\n";
$priceTotal = 0;
// PHP5.5以上か未満かで求め方が異なる
if (phpversion() >= 5.5) {
echo "phpバージョン5.5以上の処理を実行します\n";
$priceTotal = array_sum(array_column($vegetables, 'price'));
} else {
echo "phpバージョン5.5未満の処理を実行します\n";
foreach ($vegetables as $vegetable) {
$priceTotal += $vegetable['price'];
}
}
echo "期待値: 450\n";
echo "結果: ${priceTotal}\n";
주안점
PHP5.5 이상의 경우
array_sum 함수와aray조합column 함수
$priceTotal = array_sum(array_column($vegetables, 'price'));
PHP5.5시 미만
array_column 함수를 사용할 수 없기 때문에 순환문으로 보충합니다
※PHP5.5 이상 사용 가능
foreach ($vegetables as $vegetable) {
$priceTotal += $vegetable['price'];
}
끝맺다
array_sum 함수와araycolumn 함수를 사용하는 문법은 행수를 줄일 수 있고 직감적으로도 이해하기 쉽다
PHP5가5도 안 되는 환경에서 개발과 향후 업그레이드 가능성이 있다면 리뷰 출력과 함께 쓰는 것이 좋다
참고 자료
Reference
이 문제에 관하여([PHP] 다차원 연상 배열의 특정 요소의 합계를 구한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/c_hero/articles/6720101864ea39텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)