Komputer, Pemrograman
PHP Praktek: perbandingan string
PHP difokuskan pada penanganan informasi yang baik. Sintaks bahasa diwakili set yang berfungsi penuh dari fungsi perbandingan, pengolahan tali, operator perbandingan.
Algoritma - urutan pilihan dan tindakan. Tapi sebelum Anda membuat pilihan, Anda perlu sesuatu untuk membandingkannya dengan sesuatu. Line - mekanisme kontrol algoritma yang paling luas, efisien dan praktis. Line - varian dari penyajian data. Sebuah Data - ini adalah subjek utama dari "perawatan" dari algoritma.
logika biasa "perbandingan-tindakan"
Secara umum, lidah mengetik dinamis tidak ada perbedaan dalam data, seperti jalur PHP perbandingan dan jumlahnya tidak jauh berbeda. Jumlah - juga string, ketika hanya berisi angka, titik dan tidak ada satu karakter yang tidak digunakan untuk mewakili angka dalam bentuk (notasi matematika).
Jika nomor kontenkatsii otomatis menyatu dengan garis, ada pertanyaan yang diajukan dan tidak ada kesalahan tersembunyi, bahkan jika gettype () fungsi memberikan 'bilangan bulat' atau 'ganda'.
Namun, ada perbedaan antara menggunakan is_int () dan is_numeric (). Yang pertama memberikan kebenaran, hanya ketika parameter adalah integer, kedua, bila ada nomor atau string numerik (variabel jenis adalah 'string', tetapi terdiri dari semua disediakan notasi matematika).
Ini adalah contoh sederhana - contoh yang baik bagaimana sebuah operator PHP perbandingan string ( '==' '===' ... '='!) Bisa menyajikan banyak kejutan. Variabel dapat mengubah jenis mereka, mereka tidak selalu angka, tetapi hampir selalu mereka dapat menyebabkan garis. Dalam kasus ekstrim - itu akan menjadi string kosong.
Berdasarkan hal di atas, PHP fungsi perbandingan string yang paling populer. Apa sebenarnya untuk memilih, untuk memutuskan pengembang. Banyak pilihan yang tersedia sampai dengan ekspresi reguler.
Batas-batas fungsional yang tersedia
PHP-perbandingan dari dua baris baik "melakukan" fungsi strpos () - yang termurah, setia dan pilihan praktis. Jika hasil dari jumlah fungsi, maka jelas satu string adalah sama dengan yang lain atau satu bagian ke bagian lain.
Radikal berlawanan, tetapi juga benar-benar pendekatan yang tepat - penggunaan ekspresi reguler.
Jika fungsi $ cResult = scCheckFileName ($ CSTR) memberikan 'benar', maka garis adalah nama dari vordovsky berkas. Dia akan hanya memiliki satu pilihan ekspansi '.docx' dan tidak ada karakter dalam nama: hanya huruf, angka dan karakter '_', '-'.
fungsi tersebut dapat dengan mudah dikonversi ke jenis file lainnya: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u'. Varian ini memperluas jangkauan pemindaian download line (misalnya, perbandingan string PHP diterapkan "untuk meng-upload file ke server, tanpa kesempatan kesalahan input") untuk html, js, css, ...
Menggunakan strpos () dan preg_match () - ekstrem. Mereka tidak terkait langsung dengan isu periode perbandingan. Tetapi pertanyaan dari algoritma - adalah masalah menggunakan kombinasi gaya, penggunaan semua peluang untuk mencapai hasil yang handal dan benar.
PHP fungsional: perbandingan string
bahasa Arsenal string dibandingkan -, tidak hanya fungsi perbandingan murni, tetapi juga kombinasi dari pencarian atau pengganti langsung. Tidak selalu bertindak harus bertepatan dengan perbandingan, karena yang terakhir tidak selalu menyebabkan perubahan berturut-turut apapun. Sering kali Anda harus memilih satu atau cabang lain dari algoritma.
Yang normal varian PHP: melakukan perbandingan string fungsi int strcmp (s1, s2).
Hasil dari fungsi:
- 0 - line adalah sama;
- -1 - string pertama kurang dari yang kedua;
- 1 - yang pertama lebih dari baris kedua.
Dalam prakteknya, ini berarti bahwa bagian dari baris pertama untuk yang kedua, dari mana fungsi PHP (baris perbandingan) memutuskan. Versi yang lebih terbatas strpos (), karena dalam kasus terakhir adalah mungkin untuk mengetahui posisi entri.
strcmp () function - sensitif. Jika Anda ingin membandingkan string sensitif itu, PHP menawarkan strcasecmp nya (). sintaks mirip.
Dalam prakteknya sering diperlukan untuk bekerja tidak dengan seluruh baris, tetapi hanya bagian dari itu. Untuk set fungsi PHP (perbandingan string) termasuk strncmp (s1, s2, N). Parameter ketiga menentukan melakukan perbandingan satu-satunya N-byte. Hasilnya adalah strcmp serupa ().
Array, string dan membandingkan
Ini hampir selalu diwakili oleh string. Jika kita mempertimbangkan array, benda, atau struktur data, itu hanya varian yang berbeda dari kombinasi dari struktur string sederhana.
array String dan baris dapat diberikan dengan cara yang saling melengkapi. Transformasi dari array ke dalam meledak fungsi string yang (array, simbol), misalnya: $ margins1 = implode ( '', $ gaya-> getInnerMargin ()); ... algoritma / user ...; $ Margins2 = implode ( '', $ gaya-> getInnerMargin ()) memungkinkan Anda untuk menggabungkan semua posisi objek dalam posisi tali.
Anda kemudian dapat melakukan PHP perbandingan string, dan pada suatu waktu: $ cek = strcmp ($ margins1, $ margins2) dan pastikan algoritma atau pengguna bahwa sesuatu telah berubah (atau tidak). Jika Anda melakukan perbandingan dengan cara yang biasa, Anda harus mengurutkan elemen array. Dibutuhkan lebih lama dan lebih rumit.
Objek dan baris
Bahkan lebih spektakuler penggunaan PHP (perbandingan string) dapat diimplementasikan melalui ide-ide berorientasi objek.
Ide modern fasilitas menunjukkan bahwa mereka memiliki sifat dan metode. Mantan biasanya diwakili oleh angka-angka, string, array, dan benda-benda lainnya. Yang terakhir sering termasuk teknik rekaman (dimasukkan) di garis pemulihan dan dari baris (mendapatkan).
Tidak seperti array, objek melakukan pekerjaan dengan sifat mereka sendiri dan berinteraksi dengan benda-benda lainnya. Objek "yang berwenang" di mana sifat-sifatnya yang nilai nyata bagi algoritma dari program secara keseluruhan.
Momen ini memberikan dasar dan kesempatan untuk merekam saat merekam string hanya informasi yang diperlukan, dan dalam pemulihan garis untuk mengembalikan semua properti yang bekerja di negara yang diinginkan. Biasanya, di setiap obyek ada informasi penting dan bekerja (waktu). Pelaksanaan ide ini memungkinkan Anda untuk menyimpan tidak hanya memori, ruang disk, catatan database, tetapi juga memungkinkan untuk membandingkan cara garis sederhana dan lebih akurat.
Sintaks dan Semantik
PHP berkembang secara dinamis, dan fungsinya baik dari segi membandingkan string dan terus ditingkatkan dalam hal pengobatan mereka. Namun, tidak ada yang mencegah pengembang untuk memindahkan pusat gravitasi di bidang semantik.
Tidak diragukan lagi, fungsi yang baik, namun penggunaannya dapat ditransfer dalam arti kode pada objek. Ketika algoritma disajikan sebagai suatu sistem interaksi antara objek, terlihat jauh lebih baik daripada urutan perbandingan dan tindakan dalam urutan langsung, gaya klasik.
Similar articles
Trending Now