배열 크기비교후 추출 채택완료
결과값이 배열2의 " (e>a=d>c>b) " 로 표기하고자 합니다. 결과은값 큰값순으로 배열되고 >, = 로 표시하고자 합니다.
기본지식이 없어서... 아직도 헤메고 있습니다. ------------- $nums1 = explode(',', '3,1,2,3,6'); // 배열1 $nums2 = explode(',', 'a,b,c,d,e'); // 배열2 $num3 = array_combine($nums1, $nums2); krsort($num3); print_r($num3); -------------
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
iBNeer
4년 전
</p>
<p><?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);</p>
<p>
$tmp = "";</p>
<p>foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ echo " < ";}
if($tmp>$v){ echo " > ";}
if($tmp==$v){ echo " = ";}
}
$tmp = $v;
echo $k;
}
?></p>
<p>
무엇을 구현하시는지는 잘 이해가 안되지만...
위 방식으로 하면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 10개
�
4년 전
i
iBNeer
4년 전
배열을 정렬 후 최대값의 key 하나만 필요하신건가요?
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
echo key($num3);
?>
[/code]
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
echo key($num3);
?>
[/code]
�
4년 전
처음주신 값이 원하던 값입니다. echo $k;
그런데 이값을 변수로 저장하고, 그 변수값을 다른 곳에서 불러오고자 합니다.
그런데 이값을 변수로 저장하고, 그 변수값을 다른 곳에서 불러오고자 합니다.
i
iBNeer
4년 전
원하시는 값이 e > a = d > c > b 이것인가요?
아님 e 이것인가요....
밑에 써드리는 코드가 작동은 하겠지만
실제 데이터를 어떻게 응용하여 쓸것인가에 대해서는 다른방식이 더 올바를 수도 있습니다
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
echo $final_k;
?>
[/code]
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$final_k = key($num3);
echo $final_k;
?>
[/code]
아님 e 이것인가요....
밑에 써드리는 코드가 작동은 하겠지만
실제 데이터를 어떻게 응용하여 쓸것인가에 대해서는 다른방식이 더 올바를 수도 있습니다
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
echo $final_k;
?>
[/code]
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$final_k = key($num3);
echo $final_k;
?>
[/code]
�
4년 전
첫번째 주신 로직으로, $final_k 로 불러보니까 원하는 값 e > a = d > c > b 에서 비교 부호만 없이 eadcb 로 나옵니다.
�
4년 전
앗! 제가 잘못 보았네요. 아래 로직이 원하는 값으로 잘 나오고 있습니다. 감사합니다.
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
echo $final_k;
?>
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
echo $final_k;
?>
i
iBNeer
4년 전
[code]
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
?>
[/code]
[code]
<?php echo $final_k; ?>
[/code]
충분히 답변이 되었으리라 생각합니다.
<?php
$nums1 = explode(",", "3,1,2,3,6"); // 배열1
$nums2 = explode(",", "a,b,c,d,e"); // 배열2
$num3 = array_combine($nums2, $nums1);
arsort($num3);
$tmp = "";
foreach($num3 as $k => $v){
if($tmp){
if($tmp<$v){ $final_k .= " < ";}
if($tmp>$v){ $final_k .= " > ";}
if($tmp==$v){ $final_k .= " = ";}
}
$tmp = $v;
$final_k .= $k;
}
?>
[/code]
[code]
<?php echo $final_k; ?>
[/code]
충분히 답변이 되었으리라 생각합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
답변대기
채택
답변대기
채택
답변대기
채택
채택
답변대기
채택
채택
채택
채택
채택
답변대기
채택
채택
$final_k = ?? 식으로 하여, $final_k 로 값을 불러오고 싶어요.