1. 정의
(1) max( ) 최대값을 반환합니다.
설명서: http://ww.w3school.com.cn/php/func_math_max.asp
max( ) 은( 는) 인자의 가장 큰 값을 되돌려줍니다.
만약 하나의 매개 변수만 있고 배열이 있다면, max() 배열에서 가장 큰 값을 되돌려줍니다. 첫 번째 인자가 정수, 문자열 또는 부동 소수점일 경우, 두 개 이상의 인자가 필요합니다. max() 는 이 값을 사용합니다.이 값들 중 가장 큰 값을 반환합니다.무궁무진한 여러 개를 비교할 수 있다값어치.
(2)min() 최소값을 반환합니다.
설명서: http://ww.w3school.com.cn/php/func_math_min.asp
min( ) 은( 는) 가장 작은 값을 반환합니다.
만약 하나의 매개 변수만 있고 배열이 있다면, min() 배열의 가장 작은 값을 되돌려줍니다. 첫 번째 인자가 정수, 문자열 또는 부동 소수점일 경우 최소 두 개의 인자가 필요합니다. min() 는 이 값을 사용합니다.이 값들 중 가장 작은 값을 반환합니다.무궁무진한 여러 개를 비교할 수 있다값어치.
2. 인스턴스 코드 비교
(1) 1차원 배열 비교
//1차원 배열 값 비교
$arr1 = array(1,2,5,7,9);
$max = max($arr1);
$min = min($arr1);
var_dump($max); //9
var_dump($min); // 1
(2) 비교적 간단한 2차원 배열
$arr2 = array(
array(
'code'=>"040100000045"
),
array(
'code'=>"040100000046"
),
array(
'code'=>"040100000047"
),
array(
'code'=>"040100000048"
)
);
$max1 = max($arr2);
$min1 = min($arr2);
echo '<br/>';
echo '<br/>';
var_dump($max1); //array(1) { ["code"]=> string(12) "040100000048" }
var_dump($min1); //array(1) { ["code"]=> string(12) "040100000045" }
여기서 단일 필드의 2차원 배열도 비교할 수 있음을 발견하였다.우리는 우리가 비교해야 할 필드를 새로운 배열에 대입한 다음 max(), 또는 min() 함수를 사용할 수 있다.
(3) 약간 복잡한 2차원 배열
$arr2 = array(
array(
'code'=>"040100000045",
'type'=>"이등품",
),
array(
'code'=>"040100000048",
'type'=>"먹거리",
),
array(
'code'=>"040100000047",
'type'=>"삼품",
),
array(
'code'=>"040100000046",
'type'=>"네 가지 물건",
)
);
$max2 = max($arr2);
$min2 = min($arr2);
echo '<br/>';
echo '<br/>';
//결과를 출력하다:array(2) { ["code"]=> string(12) "040100000048" ["type"]=> string(6) "먹거리" }
var_dump($max2);
// 결과를 출력하다:array(2) { ["code"]=> string(12) "040100000045" ["type"]=> string(6) "이등품" }
var_dump($min2);
여기서 우리는 비교한 결과가 여전히 정상이라는 것을 발견할 수 있다.그럼 실험을 계속해 보자.
(4)더 복잡한 배열 비교
$arr3 = array(
array(
'test'=>"한번 해보다",
'code'=>"040100000045",
'type'=>"이등품",
),
array(
'test'=>"두 번 시험해 보다",
'code'=>"040100000048",
'type'=>"먹거리",
),
array(
'test'=>"세 번 시험해 보다",
'code'=>"040100000047",
'type'=>"삼품",
),
array(
'test'=>"네 번 시험해 보다",
'code'=>"040100000046",
'type'=>"네 가지 물건",
)
);
$max3 = max($arr3);
$min3 = min($arr3);
echo '<br/>';
echo '<br/>';
//결과를 출력하다:array(3) { ["test"]=> string(9) "네 번 시험해 보다" ["code"]=> string(12) "040100000046" ["type"]=> string(6) "네 가지 물건" }
var_dump($max3);
//결과를 출력하다:array(3) { ["test"]=> string(9) "한번 해보다" ["code"]=> string(12) "040100000045" ["type"]=> string(6) "이등품" }
var_dump($min3);
여기서 우리는 code의 정렬이 더 이상 정확하지 않다는 것을 알게 되었고, 대신 test 필드는 오히려 최대 최소값으로 출력되었다.여기서 max와 min 함수의 비교는 왼쪽에서 오른쪽으로 비교됨을 알 수 있다.특히 2차원 배열의 경우 첫 번째 필드의 값을 먼저 비교한다.
(5) 테스트, 첫 번째 필드가 동일한 배열
//첫 번째 필드가 같은 배열
$arr4 = array(
array(
'test'=>"한번 해보다",
'code'=>"040100000045",
'type'=>"이등품",
),
array(
'test'=>"한번 해보다",
'code'=>"040100000048",
'type'=>"먹거리",
),
array(
'test'=>"한번 해보다",
'code'=>"040100000047",
'type'=>"삼품",
),
array(
'test'=>"한번 해보다",
'code'=>"040100000046",
'type'=>"네 가지 물건",
)
);
$max4 = max($arr4);
$min4 = min($arr4);
echo '<br/>';
echo '<br/>';
//결과를 출력하다:array(3) { ["test"]=> string(9) "한번 해보다" ["code"]=> string(12) "040100000048" ["type"]=> string(6) "먹거리" }
var_dump($max4);
//결과를 출력하다: array(3) { ["test"]=> string(9) "한번 해보다" ["code"]=> string(12) "040100000045" ["type"]=> string(6) "이등품" }
var_dump($min4);
여기서 분명히 알 수 있다.max와 min 함수는 왼쪽에서 오른쪽으로 첫 번째 그룹을 비교하고, 첫 번째 그룹이 같으면 두 번째 그룹을 비교한다.그리고 결과를 출력한다.
max() 함수와 min() 함수는 간단한 비교가 괜찮으며, 다차원 배열의 각 값을 정렬해야 한다면 max와 min으로 표현한다.그런데 잘 안 어울려요.
1
3. php 2D 배열 세부 필드 최대값 가져오기
//여기서 $code는 2차원 배열입니다. 우리는 안에 있는 code 필드의 최대값을 추출해야 합니다
//$code[0]에서 code 값 가져오기
$max = $code[0]['code'];
//$code 필드를 순환한 다음 순환 후의 값을 비교합니다
foreach ($code as $k => $v) {
if ($v > $max) {
//순환비교, 최대값 취하기
$max = $v;
}
}
//$max가 배열입니다. 배열의 'code' 문자열을 가져옵니다
$max = $max['code'];
}
return $max;
'개발 꿀팁 > PHP' 카테고리의 다른 글
php는 open, fwrite를 이용하여 다양한 형식의 파일(코드)을 내보냅니다 (0) | 2022.07.25 |
---|---|
php 내보내기csv 형식의 Excel 파일 구현 코드 (0) | 2022.07.25 |
PHP에서 가변 변수와 php 가변 함수는 도대체 무슨 소용이 있습니까? (0) | 2022.07.23 |
PHP가 QR코드의 생성 및 식별(코드)을 구현하는 방법 (0) | 2022.07.22 |
php ob_start()를 이용하여 출력과 선택적 출력을 지웁니다 (0) | 2022.07.22 |