재배열 질문합니다. 정보
재배열 질문합니다.
본문
<?
$number = "56,24,33,86,2,32,12,59,10,54";
echo $number;
?>
위 값을 숫자가 가장 작은 값부터 다시 배열하려면 어떻게 해야되나요...?
ex) 2,10,12,24,32,33,54,56,59,86
가능한지 질문 합니다~~~ ^ ^;;
댓글 전체
오옷... 예전에 학교에서 알고리즘시간에 햇던기억이.... 허나 어찌하는지 기억이 나질 않음 ㅠㅠ
ㅠ^ ㅠ,,
arsort : 역순으로 정열
asort : 순방향 정렬
참조 : adm/visit_broewr.php 50 라인 근처
asort : 순방향 정렬
참조 : adm/visit_broewr.php 50 라인 근처
$temp = explode(",", $number);
for($i=0; $i<sizeof($temp) - 1; $i++)
{
for($j=$i+1; $i<sizeof($temp); $j++)
if($temp[i] > $temp[j]) { $t = $temp[i]; $temp[i] = $temp[j]; $temp[j] = $t; }
}
for($i=0; $i<sizeof($temp) - 1; $i++)
{
for($j=$i+1; $i<sizeof($temp); $j++)
if($temp[i] > $temp[j]) { $t = $temp[i]; $temp[i] = $temp[j]; $temp[j] = $t; }
}
혹시여 시간 넘엇다고 에러뜨지 않나요? 30초 지나서 어쩌구 저쩌구 하던뎅
그래서 set_time_limit(0);넣어주구 햇더니 끝날기미가 안뵈이구 -ㅅ-;;
그래서 set_time_limit(0);넣어주구 햇더니 끝날기미가 안뵈이구 -ㅅ-;;
감사합니다. 해결 못했네요. ^ ^;;
더 찾아봐야겠습니다~
더 찾아봐야겠습니다~
$temp 배열에 들어있는 값들에 콤마를 넣으면서 다시 합쳐주셔야되요
함수가 바로 기억안나네요 찾아보면 금방 나올거예요
함수가 바로 기억안나네요 찾아보면 금방 나올거예요
$arr = array(56,24,33,86,2,32,12,59,10,54);
sort($arr);
$i = "1";
$max = count($arr);
foreach($arr as $n){
if ($i == $max){
$number .= $n;
}else{
$number .= $n.",";
}
$i++;
}
echo $number;
큰순으로 정렬하려면 반복문을 돌기전에 rsort($arr);
작은 순으로 정렬하려면 반복문 돌기전에 sort($arr);
sort($arr);
$i = "1";
$max = count($arr);
foreach($arr as $n){
if ($i == $max){
$number .= $n;
}else{
$number .= $n.",";
}
$i++;
}
echo $number;
큰순으로 정렬하려면 반복문을 돌기전에 rsort($arr);
작은 순으로 정렬하려면 반복문 돌기전에 sort($arr);
감사드립니다.
값을 db에서 뽑아오면 배열이 안 되네요.
$type = $list[$i][wr_1];
$arr = array($type);
sort($arr);
$j = "1";
$max = count($arr);
foreach($arr as $n){
if ($j == $max){
echo $n;
}else{
echo $n.",";
}
$j++;
}
아래처럼 하면 배열이 되고요...
$arr = array(17,27,3,43,8,9);
sort($arr);
$j = "1";
$max = count($arr);
foreach($arr as $n){
if ($j == $max){
echo $n;
}else{
echo $n.",";
}
$j++;
}
또 ㄷ ㅏ른 방법..
//실패
$type = "17,27,3,43,8,9";
$aa = array($type);
asort($aa);
foreach($aa as $aavalue) {
echo $aavalue;
}
//통과
$aa = array(17,27,3,43,8,9);
asort($aa);
foreach($aa as $aavalue) {
echo $aavalue;
}
왜 ㅇ ㅣ럴까용...?
값을 db에서 뽑아오면 배열이 안 되네요.
$type = $list[$i][wr_1];
$arr = array($type);
sort($arr);
$j = "1";
$max = count($arr);
foreach($arr as $n){
if ($j == $max){
echo $n;
}else{
echo $n.",";
}
$j++;
}
아래처럼 하면 배열이 되고요...
$arr = array(17,27,3,43,8,9);
sort($arr);
$j = "1";
$max = count($arr);
foreach($arr as $n){
if ($j == $max){
echo $n;
}else{
echo $n.",";
}
$j++;
}
또 ㄷ ㅏ른 방법..
//실패
$type = "17,27,3,43,8,9";
$aa = array($type);
asort($aa);
foreach($aa as $aavalue) {
echo $aavalue;
}
//통과
$aa = array(17,27,3,43,8,9);
asort($aa);
foreach($aa as $aavalue) {
echo $aavalue;
}
왜 ㅇ ㅣ럴까용...?
<?
//문자열을 배열화 한거고..
$number = "56,24,33,86,2,32,12,59,10,54";
$nums = split(",", $number);
sort($nums);
for($n=0; $n<count($nums); $n++) echo"$nums[$n]<br>";
?>
<?
//배열로 선언되면 바로 소트가 가능하죠.
$number =array("56","24","33","86","2","32","12","59","10","54");reset($number);
sort($number);
for($n=0; $n<count($number); $n++) echo"{$number[$n]}<br>";
?>
//문자열을 배열화 한거고..
$number = "56,24,33,86,2,32,12,59,10,54";
$nums = split(",", $number);
sort($nums);
for($n=0; $n<count($nums); $n++) echo"$nums[$n]<br>";
?>
<?
//배열로 선언되면 바로 소트가 가능하죠.
$number =array("56","24","33","86","2","32","12","59","10","54");reset($number);
sort($number);
for($n=0; $n<count($number); $n++) echo"{$number[$n]}<br>";
?>
오홍! 뭔 말인지 잘 몰라도 되긴 되네용 O_O!
감사합니다. ^-^
감사합니다. ^-^
오달수님께서 답변을 해주었네여.
또 다른 방법입니다.
<?
$list[$i][wr_1] = "17,27,3,43,8,9"; //db에 있는 wr_1 필드값
$type = $list[$i][wr_1];
$arr = explode(",",$type);
sort($arr);
$con = count($arr);
for($k=0; $k < $con; $k++){
if ($k == ($con-1)){
$str .= $arr[$k];
}else{
$str .= $arr[$k].",";
}
}
echo $str;
?>
또 다른 방법입니다.
<?
$list[$i][wr_1] = "17,27,3,43,8,9"; //db에 있는 wr_1 필드값
$type = $list[$i][wr_1];
$arr = explode(",",$type);
sort($arr);
$con = count($arr);
for($k=0; $k < $con; $k++){
if ($k == ($con-1)){
$str .= $arr[$k];
}else{
$str .= $arr[$k].",";
}
}
echo $str;
?>
감사합니다. ^ ^ 뭐 하나 만들려다 보니 힘이 드는군요~ ㅎ
<?
$list[$i][wr_1] = "17,27,3,43,8,9"; //db에 있는 wr_1 필드값
$type = $list[$i][wr_1];
$arr = explode(",",$type);
sort($arr);
$arr= implode( ',', $arr);
?>
$list[$i][wr_1] = "17,27,3,43,8,9"; //db에 있는 wr_1 필드값
$type = $list[$i][wr_1];
$arr = explode(",",$type);
sort($arr);
$arr= implode( ',', $arr);
?>
항상 친절한 답변 감사드립니다!
오늘은 너무 피곤한 관계로 내일 실험하러 가야겠어요. (_ _),zZ
오늘은 너무 피곤한 관계로 내일 실험하러 가야겠어요. (_ _),zZ
<?
$number = "56,24,33,86,2,32,12,59,10,54";
$number=explode(",",$number);
sort($number,SORT_NUMERIC);
$number=implode(",",$number);
echo $number;
?>
$number = "56,24,33,86,2,32,12,59,10,54";
$number=explode(",",$number);
sort($number,SORT_NUMERIC);
$number=implode(",",$number);
echo $number;
?>