KomputerPengaturcaraan

PHP Practice: string perbandingan

PHP memberi tumpuan kepada pengendalian maklumat yang baik. Sintaks bahasa yang diwakili set berfungsi sepenuhnya fungsi perbandingan, pemprosesan tali, operator perbandingan.

Mana-mana algoritma - urutan pilihan dan tindakan. Tetapi sebelum anda membuat pilihan, anda memerlukan sesuatu untuk membandingkannya dengan sesuatu. Line - mekanisme kawalan algoritma yang paling luas, berkesan dan praktikal. Line - varian persembahan data. data A - ini adalah subjek utama "penjagaan" mana-mana algoritma.

logik biasa "perbandingan-tindakan"

Secara umum, lidah menaip dinamik tidak tiada perbezaan dalam data, seperti talian PHP perbandingan dan jumlah itu tidak jauh berbeza. Nombor - ia juga adalah rentetan, apabila ia mengandungi hanya nombor, titik dan tidak ada yang bersifat tunggal yang tidak digunakan untuk mewakili nombor dalam apa jua bentuk (notasi matematik).

Jika nombor kontenkatsii secara automatik bergabung dengan garis, ada soalan yang ditanya dan tiada kesilapan tersembunyi, fungsi walaupun gettype () memberi 'integer' atau 'berganda'.

Walau bagaimanapun, terdapat perbezaan antara menggunakan is_int () dan is_numeric (). Pertama memberikan kebenaran, hanya apabila parameter integer, kedua, apabila mana-mana nombor atau rentetan angka (jenis pembolehubah adalah 'string', tetapi terdiri daripada semua notasi matematik disediakan).

Ini adalah satu contoh mudah - satu contoh yang baik bagaimana pengusaha rentetan PHP perbandingan ( '==' '===' ... '='!) Dapat mengemukakan banyak kejutan. Pembolehubah boleh menukar jenis mereka, mereka tidak sentiasa nombor, tetapi selalunya mereka boleh membawa kepada garis. Dalam kes yang melampau - ia akan menjadi rentetan kosong.

Berdasarkan di atas, PHP fungsi rentetan perbandingan adalah yang paling popular. Apa sebenarnya untuk memilih, untuk membuat keputusan pemaju. Banyak pilihan yang ada sehingga ungkapan biasa.

Sempadan fungsian tersedia

PHP-perbandingan kedua-dua baris adalah baik "tidak" strpos fungsi () - yang paling murah, yang setia dan pilihan praktikal. Jika hasil daripada beberapa fungsi, maka jelas satu rentetan adalah sama dengan yang lain atau satu bahagian yang lain.

Radikal bertentangan, tetapi juga benar-benar pendekatan yang betul - penggunaan ungkapan biasa.

Jika fungsi $ cResult = scCheckFileName ($ CSTR) memberikan 'benar', kemudian garis adalah nama vordovsky fail. Dia akan mempunyai hanya satu pilihan pengembangan '.docx' dan tiada watak-watak dalam nama: huruf, angka dan watak-watak '_', '-'.

fungsi ini boleh dengan mudah ditukar kepada lain-lain jenis fail: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '. Varian ini merangkumi pelbagai imbasan turun garis (contohnya, tali PHP perbandingan digunakan "untuk memuat naik fail ke pelayan, tanpa peluang ralat input") untuk html, js, css, ...

Menggunakan strpos () dan preg_match () - keterlaluan. Mereka tidak langsung berkaitan dengan isu tempoh perbandingan. Tetapi soal algoritma - adalah suatu perkara yang menggunakan gabungan gaya, penggunaan semua peluang untuk mencapai keputusan yang boleh dipercayai dan betul.

PHP berfungsi: string perbandingan

bahasa Arsenal tali berbanding - yang murni, bukan sahaja fungsi perbandingan, tetapi juga gabungan carian atau pengganti secara langsung. Tidak selalu bertindak mesti bertepatan dengan perbandingan, kerana kedua tidak semestinya membawa kepada perubahan dalam mana-mana baris. Kerap anda perlu memilih salah satu atau cawangan lain algoritma.

Normal varian PHP: melakukan rentetan perbandingan fungsi int strcmp (s1, s2).

Hasil daripada fungsi:

  • 0 - line adalah sama;
  • -1 - rentetan pertama adalah kurang daripada yang kedua;
  • 1 - yang pertama lebih dari barisan kedua.

Dalam amalan, ini bermakna bahawa sebahagian daripada baris pertama kepada yang kedua, yang fungsi PHP (baris perbandingan) memutuskan. Versi lebih terhad strpos (), kerana dalam kes kedua ia adalah mungkin untuk mengetahui kedudukan penyertaan.

strcmp () fungsi - sensitif. Jika anda mahu membandingkan tali-sensitif ini, PHP menawarkan strcasecmp yang (). sintaks adalah sama.

Dalam amalan sering diperlukan untuk bekerja bukan dengan garis keseluruhan, tetapi hanya sebahagian daripadanya. Untuk set fungsi PHP (rentetan perbandingan) termasuk strncmp (s1, s2, N). Parameter ketiga menentukan melakukan perbandingan satunya N-bait. Hasilnya ialah strcmp sama ().

Tatasusunan, rentetan dan membandingkan

Ini hampir sentiasa diwakili oleh tali. Jika kita mengambil kira tatasusunan, objek, atau struktur data, ia hanya varian berbeza gabungan daripada struktur tali mudah.

tatasusunan rentetan dan baris boleh disediakan dengan cara yang saling melengkapi. Transformasi array ke dalam implode fungsi rentetan (array, simbol), sebagai contoh: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... algoritma / pengguna ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) membolehkan anda untuk menggabungkan semua kedudukan objek dalam kedudukan tali.

Anda kemudiannya boleh melakukan PHP perbandingan tali, dan pada masa yang: $ menyemak = strcmp ($ margins1, $ margins2) dan pastikan algoritma atau pengguna bahawa sesuatu yang telah berubah (atau tidak). Jika anda melakukan perbandingan dengan cara yang biasa, anda akan mempunyai untuk menyusun unsur-unsur tatasusunan. Ia mengambil masa lebih lama dan lebih rumit.

Objek dan garis

Walaupun penggunaan yang lebih menakjubkan PHP (perbandingan rentetan) boleh dilaksanakan melalui idea berorientasikan objek.

Idea moden kemudahan menunjukkan bahawa mereka mempunyai ciri-ciri dan kaedah. Bekas biasanya diwakili oleh nombor, tali, tatasusunan dan objek lain. Yang terakhir ini sering termasuk teknik rakaman (meletakkan) sejajar pemulihan dan keluar dari (mendapatkan).

Tidak seperti tatasusunan, objek yang berfungsi dengan sifat-sifat mereka sendiri dan berinteraksi dengan objek lain. Objek "berwibawa" di mana sifat-sifatnya mempunyai nilai sebenar bagi algoritma program ini secara keseluruhannya.

masa ini menyediakan asas dan peluang untuk merakam apabila rakaman rentetan hanya maklumat yang diperlukan, dan dalam pemulihan barisan untuk mengembalikan semua harta yang bekerja di negeri ini dikehendaki. Biasanya, dalam apa-apa objek terdapat maklumat yang besar dan bekerja (semasa). Pelaksanaan idea ini membolehkan anda untuk menyelamatkan bukan sahaja memori, ruang cakera, rekod pangkalan data, tetapi juga membuat ia mungkin untuk membandingkan cara garisan mudah dan lebih tepat.

Sintaksis dan semantik

PHP sedang membangunkan dinamik, dan fungsi dari segi tali membandingkan dan sentiasa yang bertambah baik dari segi rawatan mereka. Walau bagaimanapun, tiada apa yang menghalang pemaju untuk menggerakkan pusat graviti dalam bidang semantik.

Tidak dinafikan, fungsi yang baik, tetapi penggunaannya boleh dipindahkan dalam pengertian kanun dalam objek. Apabila algoritma dibentangkan sebagai sistem interaksi antara objek, ia kelihatan jauh lebih baik daripada perbandingan urutan dan tindakan dalam urutan langsung, gaya klasik.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.unansea.com. Theme powered by WordPress.