여기에서 다루는 데 문제가 있습니다 (코드 99 %의 논리 오류). 난 그걸 고칠 방법을 찾지 못하는 것 같지만, 당신 중 한 명이 시간 문제를 찾을 것입니다!배열을 정렬하는 사용자 정의 스크립트와 관련된 문제 오름차순 및 내림차순
오름차순 또는 내림차순으로 전달 된 배열을 정렬하는 함수를 만들어야하지만 배열 정렬 함수는 사용할 수 없습니다!
저는 지금까지 루프로 어려움을 겪어 왔습니다. 마침내 다른 개발자 (당신)에게 도움을 요청하고 싶습니다.
현재 오름차순 코드 만 작업 중이므로 내려 가기는 아무런 문제가되지 않습니다. 그것은 약간의 포인트까지 값을 정렬하지만, 다음으로 멈 춥니 다. (다음으로 작은 값이 전달 된 배열의 끝 부분에 있으면 중지됩니다.) 이 문제를 방지하고 전체 배열을 정렬하고 요소로 만들려면 어떻게해야합니까?
여기까지 코드가 있습니다.
<?php
function order_array($array,$mode = 'ascending') {
$length = count($array);
if($mode == 'descending') {
return $array;
} else {
$sorted_array = array();
$used_indexes = array();
for($i = 0; $i < $length; $i++) {
$smallest = true;
echo $array[$i] . '<br/>';
for($y = 0; $y < $length; $y++) {
//echo $array[$i] . ' > ' . $array[$y] . '<br/>';
// if at ANY time during checking element vs other ones in his array, he is BIGGER than that element
// set smallest to false
if(!in_array($y,$used_indexes)) {
if($array[$i] > $array[$y]) {
$smallest = false;
break;
}
}
}
if($smallest) {
$sorted_array[] = $array[$i];
$used_indexes[] = $i;
}
}
return $sorted_array;
}
}
$array_to_sort = array(1, 3, 100, 99, 33, 20);
$sorted_array = order_array($array_to_sort);
print_r($sorted_array);
?>
내 게시물을 읽었습니까? 나는 당신이 알지 못했기 때문에 비례적인 질문을했습니다. 그것은 분명히 NO 배열 정렬 함수는 – DevGuy
괜찮아요, sory하지만 당신은 정렬 오름차순을 유지할 수 있습니다 그리고 배열을 끝에서 첫 번째 요소 (카운트를 사용) –
줄 수있는 당신이 내게이 일을해야 할 것이라고 예를 줄 수 있습니까? 또는 논리적 오류가있는 코드의 일부를 가리키고 있습니까? – DevGuy