


Program PHP untuk Algoritma Naif untuk Carian Corak
Aug 28, 2024 am 10:31 AMApakah itu PHP?
PHP (Hypertext Preprocessor) ialah bahasa skrip bahagian pelayan yang digunakan secara meluas untuk pembangunan web. Ia membenarkan pembangun membenamkan kod dalam fail HTML, membolehkan penciptaan halaman web dinamik dan interaksi dengan pangkalan data. PHP terkenal dengan kesederhanaan, serba boleh dan keupayaan penyepaduan yang meluas dengan pangkalan data yang popular. Ia menawarkan rangkaian sambungan yang luas dan mempunyai komuniti pembangun yang besar, memastikan sumber dan sokongan yang mencukupi.
Apakah Algoritma Naif dalam PHP?
Algoritma Naive, juga dikenali sebagai algoritma Brute Force, ialah algoritma carian corak mudah yang digunakan untuk mencari kejadian corak dalam teks. Ia dipanggil "naif" kerana ia tidak menggunakan sebarang struktur data yang canggih atau teknik lanjutan.
Dalam konteks PHP, algoritma Naive dilaksanakan sebagai fungsi yang mengambil dua parameter: teks untuk mencari dalam dan corak untuk mencari. Algoritma melelaran melalui teks, membandingkan setiap aksara dengan aksara yang sepadan dalam corak. Jika ketidakpadanan ditemui, ia beralih ke aksara seterusnya dalam teks dan memulakan perbandingan semula. Jika padanan ditemui, ia terus membandingkan aksara seterusnya sehingga sama ada keseluruhan corak dipadankan atau ketidakpadanan berlaku.
Program PHP untuk Algoritma Naif untuk Carian Corak
Contoh
<?php function searchPattern($text, $pattern) { $textLength = strlen($text); $patternLength = strlen($pattern); $foundIndexes = array(); // Array to store the found indexes // Iterate through the text for ($i = 0; $i <= $textLength - $patternLength; $i++) { $j = 0; // Check for a match at the current position while ($j < $patternLength && $text[$i + $j] == $pattern[$j]) { $j++; } // If a match is found, add the starting index to the array if ($j == $patternLength) { $foundIndexes[] = $i; } } return $foundIndexes; } // Example usage $text = "ABCABCABCABC"; $pattern = "CA"; $indexes = searchPattern($text, $pattern); if (!empty($indexes)) { echo "Pattern found at indexes: " . implode(", ", $indexes); } else { echo "Pattern not found"; } ?>
Output
Pattern found at indexes: 2, 5, 8
Penjelasan kod
Kod ini melaksanakan algoritma Naive untuk mencari corak dalam PHP. Fungsi searchPattern mengambil dua parameter: $teks (teks input) dan $corak (corak untuk dicari). Dalam fungsi, panjang teks dan corak ditentukan menggunakan fungsi strlen. Tatasusunan kosong yang dipanggil $foundIndexes dicipta untuk menyimpan indeks di mana corak ditemui dalam teks.
Fungsi ini kemudian melelang melalui teks menggunakan gelung for, membandingkan setiap aksara dengan aksara yang sepadan dalam corak. Jika padanan ditemui, ia terus membandingkan aksara seterusnya sehingga sama ada keseluruhan corak dipadankan atau ketidakpadanan berlaku. Jika padanan lengkap ditemui, indeks permulaan ditambahkan pada tatasusunan $foundIndexes.
Dalam contoh penggunaan, fungsi dipanggil dengan teks sampel "ABCABCABCABC" dan corak "CA". Indeks yang terhasil di mana corak "CA" ditemui dalam teks dicetak sebagai output. Secara keseluruhan, kod tersebut menunjukkan pelaksanaan asas algoritma Naive dalam PHP, mencari corak dalam teks tertentu dan mengembalikan indeks tempat corak itu berlaku.
Kesimpulan
Program PHP yang disediakan melaksanakan algoritma Naive untuk mencari corak. Ia mencari corak tertentu dalam teks dengan membandingkan aksara satu demi satu. Algoritma melelaran melalui teks dan menyemak padanan pada setiap kedudukan. Jika padanan ditemui, ia menambah indeks permulaan pada tatasusunan. Program ini mengembalikan semua indeks yang ditemui atau menunjukkan jika corak tidak dijumpai. Walaupun algoritma Naive mempunyai kerumitan masa O(m * n), dengan m ialah panjang corak dan n ialah panjang teks, ia berfungsi sebagai pendekatan asas dan mudah untuk tugas mencari corak berskala kecil dalam PHP.
Atas ialah kandungan terperinci Program PHP untuk Algoritma Naif untuk Carian Corak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
