배열] 특정 컬럼의 값중 큰값의 키값을 가져오기 채택완료
타버린나무
3년 전
조회 2,586
검색으로 해결이 안되서 질문 드립니다.
$choice = array ("lv" => "10", "point" => "1000", "test1" =>"12", "test2" =>"11", "test3" =>"5", "test4" =>"25", );
위 배열에서 test1~4 키값 중에 제일 큰 키값을 가져오고 싶습니다. 'lv'와 'point' 빼고 비교
지금 하려는 행위
$test1 = $choice['test1'];
$test2 = $choice['test2'];
$test3 = $choice['test3'];
$test4 = $choice['test4'];
if{ $test1 > $test2 ) $col = 'test1';
.. 모든 경우의 수를 다 비교 하려고 하는데... 좀 막아주세요.. ㅜㅜ;
댓글을 작성하려면 로그인이 필요합니다.
답변 4개
채택된 답변
+20 포인트
3년 전
$max_val = max($choice);
#배열중 가장 큰 값 추출 $max_val_key = array_search($max_val, $choice);
#값이 가리키는 키값 추출
이렇게 하면 되지 않을까요?
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
타버린나무
3년 전
댓글을 작성하려면 로그인이 필요합니다.
마르스컴퍼니
Expert
3년 전
</p>
<p>$choice = array ("lv" => "10", "point" => "1000", "test1" =>"12", "test2" =>"11", "test3" =>"5", "test4" =>"25", );
$max = 0;
foreach ($choice as $k => $v) {
if ($k == 'lv' || $k == 'point')
continue;
if ($max < $v) {
$max = $v;
}
}</p>
<p>echo $max;</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
타버린나무
3년 전
답변 감사합니다. 이런 방법도 있군요. 안목을 넓혔습니다. 감사합니다.
질문의 배열은 샘플이였구요.
실제는 제외할 배열이 좀 많습니다. 제외할 배열을 모두 비교문에 넣는게 왠지 노가다 같은...
한번 응용해보겠습니다.
질문의 배열은 샘플이였구요.
실제는 제외할 배열이 좀 많습니다. 제외할 배열을 모두 비교문에 넣는게 왠지 노가다 같은...
한번 응용해보겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$test[2] = $choice['test2'];
$test[3] = $choice['test3'];
$test[4] = $choice['test4'];
$max_val = max($test);
$max_val_key = array_search($max_val, $test);
알려주신 대로 해결했습니다. 감사합니다.