테스트 사이트 - 개발 중인 베타 버전입니다

php max array_keys 출력시 채택완료

안녕하세요.

 

배열에서 가장 높은 값과 그에대한 키를 추출하려고 합니다.

 

첨에는 아래와 같이 되어있는 상태에서

$a['lowCnt'] = 1;

$a['middleCnt'] = 5;

$a['highCnt'] = 2;

$a['totalCnt'] = 8;

Array
(
    [lowCnt] => 1
    [middleCnt] => 5
    [highCnt] => 2
    [totalCnt] => 8
)

배열을 다른 값으로 채워주고 max 와 array_keys 를 출력하는데

$a['lowCnt'] = floor(20);

$a['middleCnt'] = floor(40);

$a['highCnt'] = floor(60);

$a['totalCnt'] = (string)8;

 

echo max($a)    출력시 60이 정상으로 출력이 되는데요

echo max(array_key($a)) 를 출력하게 되면 highCnt 가 출력되는게 아니라 totalCnt가 나오는데.

 

배열을 다른값으로 다시 선언을 하였는데 왜 totalCnt가 출력이 되나요??

 

변수 타입문제인가 싶어서 string / int 로 바꾸어 봐도 똑같네요;;;

 

도움부탁드립니다..

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

아래처럼 max 값을 구한후, 구한값으로 키를 찾으면 됩니다.

$s = max($a);

echo array_search($s, $a);

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

max($a) 는 말그대로 값중에서 가장 큰값이니 원하는 값이 나오지만 

 

array_key 는 lowCnt, middleCnt, highCnt, totalCnt 라는 문자열중 큰 값을 뽑으니까요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고