Rumah >pembangunan bahagian belakang >tutorial php >Berapa Lama String PHP Boleh?

Berapa Lama String PHP Boleh?

Susan Sarandon
Susan Sarandonasal
2024-11-01 09:43:02212semak imbas

How Long Can a PHP String Be?

Apakah Sempadan Panjang Rentetan PHP?

Mengenai had panjang rentetan dalam PHP, terdapat pelbagai syarat berdasarkan versi PHP dan konfigurasi sistem.

PHP 7.0.0 dan Kemudian (64-bit)

Dalam binaan 64-bit ini, panjang rentetan tidak mempunyai sekatan khusus, memberikan kapasiti yang besar untuk menyimpan sejumlah besar teks.

PHP 5. x dan Terdahulu

Sebelum PHP 7.0.0 dan pada binaan 32-bit, rentetan terhad kepada maksimum 2GB, kerana kod dalaman mewakili panjangnya dalam integer 32-bit.

Kekangan Peruntukan Memori

Selain daripada had panjang rentetan, PHP skrip juga menghadapi had pada peruntukan memori untuk pembolehubah. Had ini dikawal oleh arahan memory_limit dalam php.ini. Secara lalai, ia adalah 128MB dalam PHP 5.2 dan 8MB dalam versi terdahulu.

Melebihi had ini boleh mengakibatkan ralat maut. Walau bagaimanapun, menetapkannya kepada -1 membolehkan PHP menggunakan memori sebanyak yang dibenarkan oleh sistem pengendalian, sementara masih tertakluk kepada had perkakasan.

Contoh Praktikal

Untuk menggambarkan kekangan ingatan, pertimbangkan skrip dengan had memori 1MB:

<code class="php">ini_set('memory_limit', 1024*1024);

// allocating 255KB string
$str = str_repeat('a', 255*1024);
print_r($str);

// exceeded memory limit, results in fatal error
$str = str_repeat('a', 256*1024);
print_r($str);</code>

PHP pada mulanya memperuntukkan 768KB untuk operasi asas, meninggalkan skrip dengan 232KB ruang yang boleh digunakan. Memperuntukkan rentetan 255KB mengisi memori yang tersedia. Cuba memperuntukkan rentetan 256KB melebihi had dan mencetuskan ralat maut.

Atas ialah kandungan terperinci Berapa Lama String PHP Boleh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn