Rumah pembangunan bahagian belakang tutorial php PHP里strtr()为什么效率会比str_replace()快四倍,该如何解决

PHP里strtr()为什么效率会比str_replace()快四倍,该如何解决

Jun 13, 2016 am 10:10 AM
quot replace str strtr test

PHP里strtr()为什么效率会比str_replace()快四倍
PHP里strtr()为什么会比str_replace()快四倍
它们的替换功能是如何实现的?什么算法?
麻烦哪位大牛,帮忙详解一下!

------解决方案--------------------
我好像总是提反对意见......再来一次.

楼上好像都默认楼主说的"strtr比str_replace快四倍"的说法是正确的....
现在网上搜了一下, 英文的没有找到这种说法, 中文的有不少,不过大部分都加了"据说"二字,

然后在机器上试了一下:

php -r ' echo microtime(true);for($i=0;$i"TEST")); }; echo "\n".$x."\n".microtime(true); '

1304349351.8423
just a TEST
1304349351.8648

php -r ' echo microtime(true);for($i=0;$i
1304349393.8981
just a TEST
1304349393.9116

好像.....没有....四倍...那么多....而且好像str_replace更快??!


我不敢就这么简单测试了就说这个说法错了,但是大家都在机子上试试吧, 

欢迎给出更多的测试例子和结果



------解决方案--------------------
贴出strtr的字符串替换源代码

C/C++ code
/* {{{ php_strtr */PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen){    int i;    unsigned char xlat[256];    if ((trlen 
                 
              
              
        
            
Salin selepas log masuk
Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jam pintar Huawei Watch GT 5 mendapat kemas kini dengan ciri baharu Jam pintar Huawei Watch GT 5 mendapat kemas kini dengan ciri baharu Oct 03, 2024 am 06:25 AM

Huawei sedang melancarkan perisian versi 5.0.0.100(C00M01) untuk Watch GT 5 dan Watch GT 5 Prosmartwatches di seluruh dunia. Kedua-dua jam tangan pintar ini baru-baru ini dilancarkan di Eropah, dengan model standard tiba sebagai model termurah syarikat. Harmoni ini

Mimpi Kolonel Sanders Tekken digoreng oleh KFC Mimpi Kolonel Sanders Tekken digoreng oleh KFC Oct 02, 2024 am 06:07 AM

Katsuhiro Harada, pengarah siri Tekken, pernah cuba membawa Kolonel Sanders ke dalam permainan pertempuran ikonik. Dalam temu bual dengan TheGamer, Harada mendedahkan bahawa dia mengemukakan idea itu kepada KFC Jepun, dengan harapan dapat menambah legenda makanan segera itu sebagai

Ulasan Cybertruck FSD memuji penukaran lorong cepat dan visualisasi skrin penuh Ulasan Cybertruck FSD memuji penukaran lorong cepat dan visualisasi skrin penuh Oct 01, 2024 am 06:16 AM

Tesla melancarkan versi Pemanduan Sendiri Penuh (Diawasi) terbaharu 12.5.5 dan dengannya disertakan pilihan Cybertruck FSD yang dijanjikan pada akhirnya, sepuluh bulan selepas pikap mula dijual dengan ciri yang disertakan dalam harga kemasan Siri Asas. F

Garmin mengeluarkan peningkatan aktiviti Adventure Racing untuk berbilang jam tangan pintar melalui kemas kini baharu Garmin mengeluarkan peningkatan aktiviti Adventure Racing untuk berbilang jam tangan pintar melalui kemas kini baharu Oct 01, 2024 am 06:40 AM

Garmin mengakhiri bulan ini dengan set kemas kini stabil baharu untuk jam tangan pintar mewah terbaharunya. Untuk mengimbas kembali, syarikat itu mengeluarkan Perisian Sistem 11.64 untuk memerangi kehabisan bateri yang tinggi merentasi Enduro 3, Fenix ​​E dan Fenix ​​8 (sekira $1,099.99 di Amazon).

Pandangan pertama: Video pembongkaran kotak yang bocor bagi pengecas dinding 140W 4-port Anker Zolo akan datang dengan paparan Pandangan pertama: Video pembongkaran kotak yang bocor bagi pengecas dinding 140W 4-port Anker Zolo akan datang dengan paparan Oct 01, 2024 am 06:32 AM

Terdahulu pada September 2024, pengecas Zolo 140W Anker telah bocor, dan ia adalah masalah besar kerana ia merupakan pengecas dinding pertama dengan paparan daripada syarikat itu. Kini, video unboxing baharu daripada Xiao Li TV di YouTube memberi kami pandangan pertama tentang hi

Pemanas Minyak Xiaomi Mijia Graphene baharu dengan HyperOS tiba Pemanas Minyak Xiaomi Mijia Graphene baharu dengan HyperOS tiba Oct 02, 2024 pm 09:02 PM

Xiaomi akan melancarkan Pemanas Minyak Mijia Graphene sebentar lagi di China. Syarikat itu baru-baru ini menjalankan kempen crowdfunding yang berjaya untuk produk rumah pintar, dihoskan pada platform Youpinnya. Menurut halaman tersebut, peranti telah mula dihantar ke

Samsung Galaxy Z Fold Edisi Khas didedahkan untuk mendarat pada akhir Oktober apabila nama yang bercanggah muncul Samsung Galaxy Z Fold Edisi Khas didedahkan untuk mendarat pada akhir Oktober apabila nama yang bercanggah muncul Oct 01, 2024 am 06:21 AM

Pelancaran peranti lipat 'Edisi Khas' Samsung yang telah lama ditunggu-tunggu telah mengambil satu kelainan lagi. Dalam beberapa minggu kebelakangan ini, khabar angin mengenai apa yang dipanggil Galaxy Z Fold Edisi Khas menjadi agak senyap. Sebaliknya, tumpuan telah beralih kepada siri Galaxy S25, termasuk

Manjaro 24.1 \'Xahea\' dilancarkan dengan KDE Plasma 6.1.5, VirtualBox 7.1 dan banyak lagi Manjaro 24.1 \'Xahea\' dilancarkan dengan KDE Plasma 6.1.5, VirtualBox 7.1 dan banyak lagi Oct 02, 2024 am 06:06 AM

Dengan sejarah lebih satu dekad, Manjaro dianggap sebagai salah satu distro Linux yang paling mesra pengguna yang sesuai untuk pemula dan pengguna berkuasa, kerana mudah dipasang dan digunakan. Kebanyakannya dibangunkan di Austria, Jerman dan Perancis, distro berasaskan Arch ini

See all articles