wr_1 여분필드에 "|" 기준으로 값을 받은 경우 리스트정렬 채택완료
보통, wr_1 여분필드 자체로만 정렬할 땐 아래처럼 하잖아요.
<?php echo subject_sort_link('wr_1', $qstr2, 1) ?>wr_1 기준으로 정렬</a>
wr_1을 | 기준으로 쪼개서 wr_1[1] 기준으로 정렬하려면 어떻게 해야 할까요?
(예) wr_1값이 이런식으로 저장된 경우, abc순으로 정렬 기준 잡기
1|a
2|b
3}c
...
답변 5개
답변에 대한 댓글 2개
https://php.365ok.co.kr/function.rsort.php
댓글을 작성하려면 로그인이 필요합니다.
wr_1을 | 기준으로 쪼개서 wr_1[1]이 정렬 기준이면
둘째 값인데
substring_index()함수를 쓰면 가능하겠지만
실용적이지는 않겠죠.
답변에 대한 댓글 1개
ps. 답변 채택 안 한 상태였다면, 이 답변을 채택.
댓글을 작성하려면 로그인이 필요합니다.
다음과 같은 방법으로 하면 되지 않을까 합니다.
explode 함수를 사용하여 문자열을 분할하고, usort 함수를 사용하여 정렬하면 되지 않을까 합니다
</p>
<p><?php
// 예시 데이터
$wr_1_values = array("1|a", "2|b", "3|c");</p>
<p>// '|'를 기준으로 문자열을 분할하고 wr_1[1] 값을 기준으로 정렬
usort($wr_1_values, function($a, $b) {
$a_parts = explode('|', $a);
$b_parts = explode('|', $b);
return strcmp($a_parts[1], $b_parts[1]);
});</p>
<p>// 정렬된 결과 출력
foreach ($wr_1_values as $item) {
echo $item . "\n";
}
?>
Python으로 할 경우 다음과 같이 할 수 있습니다.
</p>
<p># 예시 데이터
wr_1_values = ["1|a", "2|b", "3|c"]</p>
<p># '|' 기준으로 쪼개고 wr_1[1] 값을 기준으로 정렬
sorted_wr_1 = sorted(wr_1_values, key=lambda x: x.split('|')[1])</p>
<p># 정렬된 결과 출력
for item in sorted_wr_1:
print(item)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인