의 첫 번째 차원의 배열을 정렬 나는이 배열 구조를 내가 종류의 첫 번째 차원에 DDS 먼저 될 않도록 어떻게PHP - 2 차원 배열
Array
(
[xyz] => Array
(
[1] => 3
[0] => s
)
[dds] => Array
(
[a] => 96
[d] => 4
)
...
)
있습니다. ksort는 (적어도 나를 위해) 작동하지 않습니다.
TIA
편집 여기 내 간단한 코드입니다. 직렬화 된 2D 배열 파일을 변수로 읽어 들여서 일종의 복잡한 작업을 수행합니다. 문제없이 ksort가 제 1D 배열에서 작동합니다. ksort 행을 주석 처리하면 오류없이 실행됩니다.
$inputfile = "xxx/result.txt";
$builta = file_get_contents($inputfile);
$built =unserialize($builta);
$size = sizeof($built);
echo $size;
echo "<br><pre>";
print_r ($built);
echo "</pre>";
ksort($built);
echo "<br><pre>";
print_r ($built);
echo "</pre>";
복잡한 것은 없습니다.
업데이트 : 큰 배열을 처리 할 때 더 많은 오류가 발생하면 ksort의 문제는 큰 배열을 정렬 할 수있는 충분한 메모리가없는 것으로 나타났습니다. tpaksu가 제공하는 솔루션은 훌륭한 해결 방법입니다.
여기서 명시하자 : ksort 함수를 잘못 사용하고 있습니다. 설명서를 살펴보고 작동 방식을 확인하고 즐거운 시간 보내십시오. 방법을 알면 쉽습니다. 어떻게 배우지 않으면 어렵습니다. 쉬운 시작을하기 위해 설명서의 ksort는 http://php.net/ksort에 있습니다. 매개 변수, 반환 유형 및 주어진 예제를 항상 읽으십시오. – hakre