PHP에서 문자열의 최대 길이
PHP에서 문자열의 길이는 시스템에서 사용 가능한 메모리에 따라 제한됩니다. 문자열의 최대 크기는 플랫폼에 따라 다르며 64비트 빌드에서는 임의로 큰 문자열을 처리할 수 있습니다.
PHP 5.x에서는 문자열이 231-1로 제한되었습니다. 길이는 부호 있는 32비트 정수로 저장되었으므로 바이트입니다. 그러나 이 제한은 PHP 7.0.0에서 제거되었습니다.
실용적 고려 사항
문자열의 크기는 임의로 커질 수 있지만 PHP 7.0.0의 모든 변수에 할당된 총 메모리는 단일 스크립트 실행은 여전히 php.ini의 memory_limit 지시어에 의해 제한됩니다. 이 제한은 일반적으로 PHP 5.2에서는 128MB로 설정되고 이전 릴리스에서는 8MB로 설정됩니다.
php.ini에서 메모리 제한이 명시적으로 설정되지 않은 경우 PHP 바이너리 구성에 따라 달라지는 기본값이 사용됩니다. 메모리 제한을 -1로 설정하면 이 검사가 효과적으로 비활성화되고 스크립트가 가능한 한 많은 메모리를 사용할 수 있습니다.
실제 예시
다음 PHP 스크립트는 다음을 보여줍니다. 메모리 제한과 문자열 크기 사이의 관계:
<code class="php">// Limit memory usage to 1MB ini_set('memory_limit', 1024*1024); // Initially, PHP seems to allocate 768KB for basic operation printf("memory: %d\n", memory_get_usage(true)); // Allocate a string of 255KB $str = str_repeat('a', 255*1024); echo "Allocated string of 255KB\n"; // Now we have allocated all of the 1MB of memory allowed printf("memory: %d\n", memory_get_usage(true)); // Attempting to allocate a string larger than the memory limit will cause a fatal error $str = str_repeat('a', 256*1024); echo "Allocated string of 256KB\n"; printf("memory: %d\n", memory_get_usage(true));</code>
이 스크립트를 실행하면 출력:
memory: 768000 Allocated string of 255KB memory: 1023952
이는 문자열이 255KB에 도달하면 할당된 메모리가 한계에 도달함을 보여줍니다. 더 큰 문자열을 할당하려고 하면 치명적인 오류가 발생합니다.
위 내용은 PHP에서 문자열의 최대 길이는 얼마입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!