Bila Menggunakan strtr vs str_replace
Fungsi PHP strtr dan str_replace kedua-duanya melakukan penggantian rentetan, tetapi perbezaan utama wujud dalam tingkah laku mereka.
Perbezaan Utama:
-
Isih Kunci: strtr mengisih rentetan cariannya mengikut panjang dalam tertib menurun, manakala str_replace memproses kekunci dalam susunan ia ditakrifkan.
-
Tertib Gantian: strtr menggantikan rentetan padanan terbesar dahulu, manakala str_replace menggantikan kekunci secara berurutan.
Contoh:
Pertimbangkan kod berikut:
<code class="php">$text = "PHP: Hypertext Preprocessor";
$arr = array("PHP" => "PHP: Hypertext Preprocessor", "PHP: Hypertext Preprocessor" => "PHP");
$text_strtr = strtr($text, $arr);
$text_str_replace = str_replace(array_keys($arr), array_values($arr), $text);</code>
Salin selepas log masuk
- strtr akan mengisih kekunci mengikut panjang dan menggantikan "PHP: Hypertext Preprocessor" dengan "PHP" terlebih dahulu, dengan berkesan mengembalikan teks kepadanya nilai asal.
- str_replace akan menggantikan "PHP" dengan "PHP: Hypertext Preprocessor" dan kemudian menggantikan "PHP: Hypertext Preprocessor" dengan "PHP," menghasilkan hasil yang berbeza: "PHP: Hypertext Preprocessor."
Bila Menggunakan str_replace:
Gunakan str_replace apabila susunan khusus penggantian kunci adalah penting.-
Atas ialah kandungan terperinci strtr vs str_replace: Bila hendak menggunakan Mana untuk Penggantian Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!