Terdapat dua fungsi dalam PHP untuk mengira panjang rentetan: 1. Fungsi strlen() boleh mengira panjang rentetan bahasa Inggeris dan sintaksnya ialah "strlen($string)" 2; Fungsi mb_strlen() boleh Dengan menetapkan pengekodan aksara, hitung panjang rentetan bahasa Inggeris, rentetan Cina atau rentetan campuran Cina-Inggeris Sintaksnya ialah "mb_strlen($string,"Pengekodan aksara").
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 8.1, komputer DELL G3
Biasa digunakan dalam PHP untuk mengira panjang rentetan Terdapat dua fungsi, iaitu fungsi strlen() dan mb_strlen(). Apabila berurusan dengan rentetan semua bahasa Inggeris, kesan kedua-dua fungsi ini adalah sama, tetapi apabila berurusan dengan rentetan campuran Cina dan Inggeris atau Cina tulen, kedua-dua fungsi ini akan mempunyai beberapa perbezaan:
Fungsi strlen() boleh mengira panjang rentetan bahasa Inggeris, tetapi untuk rentetan campuran Cina dan Inggeris atau Cina tulen, panjangnya tidak boleh dikira dengan tepat.
fungsi mb_strlen() boleh mengira panjang rentetan bahasa Inggeris, rentetan Cina atau rentetan campuran Cina dan Inggeris.
1. Fungsi strlen() mencari panjang rentetan
fungsi strlen() boleh mengembalikan panjang rentetan yang diberikan, ia. format sintaks Seperti berikut:
strlen($string)
Parameter $string ialah rentetan yang panjangnya perlu dikira. Mengembalikan 0 jika $string kosong.
Nota: Dalam fungsi strlen(), nombor, bahasa Inggeris, titik perpuluhan, garis bawah dan ruang menduduki satu aksara panjang manakala aksara Cina yang dikodkan GB2312 menduduki dua aksara; Panjang aksara Cina yang dikodkan UTF-8 ialah tiga aksara.
Contoh:
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>'; ?>
Rentetan $str mengandungi 10 huruf Inggeris, 1 ruang dan 1 tanda seru bahasa Inggeris, sejumlah 12 aksara, jadi panjang output ialah 12.
Tetapi fungsi strlen() tidak sesuai untuk mengira panjang rentetan Cina, kerana dalam fungsi ini satu aksara Cina yang dikodkan GB2312 menduduki dua aksara panjang, satu UTF- 8 Aksara Cina yang dikodkan ialah tiga aksara panjang.
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>'; ?>
2 Fungsi mb_strlen() mencari panjang rentetan
Fungsi mb_strlen() boleh juga mengembalikan panjang rentetan, format sintaks adalah seperti berikut:
mb_strlen($str [, $encoding = mb_internal_encoding()])
$str ialah rentetan yang panjangnya perlu dikira
$encoding ialah parameter pilihan, iaitu Pengekodan aksara, jika diabaikan, pengekodan aksara dalaman digunakan.
Nilai pulangan bagi fungsi mb_strlen() ialah bilangan aksara yang terkandung dalam rentetan $str dengan pengekodan $Jika $encoding tidak sah, false dikembalikan.
Nota: Tidak seperti fungsi strlen(), dalam fungsi mb_strlen(), sama ada aksara Cina, Inggeris, nombor, titik perpuluhan, garis bawah dan ruang, ia hanya menduduki satu aksara panjangnya.
[Contoh] Gunakan fungsi mb_strlen() untuk mendapatkan panjang rentetan.
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str,"utf-8").'<br>'; $str = "欢迎来到PHP中文网!"; echo '<br>字符串 “'.$str.'” 的长度为:'.mb_strlen($str,'utf-8').'<br>'; ?>
Dapat dilihat bahawa kita boleh menangani masalah panjang rentetan Cina dengan baik dengan menetapkan parameter $encoding
yang sepadan.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah fungsi untuk mencari panjang rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!