Komputer, Programming
PHP Praktek: ngabandingkeun string
PHP anu fokus kana penanganan informasi alus. The sintaksis basa anu digambarkeun set hanca pinuh fungsi ngabandingkeun, pamrosésan string, operator perbandingan.
Sagala algoritma - tina sekuen pilihan jeung lampah. Tapi saencan Anjeun nyieun pilihan, Anjeun perlu hal pikeun ngabandingkeun éta kalayan hal. Garis - mékanisme kontrol algoritma paling capacious, cekap tur praktis. Garis - varian tina presentasi data. A data - ieu subjek utama ngeunaan "care" tina algoritma nanaon.
logika biasa "ngabandingkeun-aksi"
Sacara umum, basa ketikan dinamis teu aya béda dina data, kayaning garis PHP ngabandingkeun jeung nomer nu teu jauh béda. Jumlah - eta oge string a, nalika eta ngandung ukur angka, titik jeung moal aya anu karakter tunggal nu teu dipake keur ngagambarkeun angka dina sagala formulir (notasi matematik).
Lamun jumlah kontenkatsii otomatis merges kalayan jalur, teu ditanyakeun sarta euweuh kasalahan disumputkeun, sanajan gettype () fungsi méré 'integer' atawa 'ganda'.
Sanajan kitu, aya béda antara maké is_int () sarta is_numeric (). Kahiji mere kaleresan, ngan lamun parameter mangrupa integer, kadua, nalika sagala angka atawa string numerik (variabel tipe nyaeta 'string', tapi ngandung sagala disadiakeun notasi matematik).
Ieu conto basajan - a conto alus ngeunaan kumaha a operator PHP string ngabandingkeun ( '==' '===' ... '='!) Dupi nampilkeun loba kejutan. Variabel bisa ngarobah tipe maranéhanana, aranjeunna henteu salawasna angka, tapi ampir sok maranéhna bisa ngakibatkeun jalur. Dina hal ekstrim - dinya bakal hiji senar kosong.
Dumasar di luhur, hiji PHP fungsi string ngabandingkeun nyaeta nu pang populerna. Naon kahayang pikeun milih, mutuskeun pamekar nu. Kavling pilihan sadia nepi ka ungkapan biasa.
Wates di hanca sadia
PHP-ngabandingkeun tina dua jajar anu alus "ngalakukeun" fungsi strpos () - cheapest, anu satia tur pilihan praktis. Lamun hasil tina jumlah fungsi, teras jelas salah string sarua jeung nu sejen atawa salah bagian ka nu sejen.
Radikal sabalikna, tapi ogé kacida pendekatan katuhu - pamakéan ungkapan biasa.
Mun fungsi $ cResult = scCheckFileName ($ cStr) méré 'bener', teras jalur nyaeta ngaran vordovsky file. Anjeunna kudu ngan hiji pilihan tina ékspansi '.docx' na euweuh karakter dina nami: ngan hurup, digit jeung karakter '_', '-'.
fungsi bisa gampang dirobah jadi tipe séjén file: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '. variasi kieu manjangan rentang scan diundeur garis (e.g., ngabandingkeun PHP string anu dilarapkeun "pikeun ngamuat koropak mun server a, lamun taya kasempetan kasalahan input") pikeun html, JS, css, ...
Ngagunakeun strpos () sarta preg_match () - extremes. Aranjeunna teu langsung patali jeung isu periode perbandingan. Tapi sual algoritma nu - téh ngarupakeun matéri ngagunakeun kombinasi gaya, pamakéan sadaya kasempetan pikeun ngahontal hasil dipercaya jeung bener.
PHP hanca: ngabandingkeun string
basa Arsenal string dibandingkeun - a, teu mung fungsi ngabandingkeun murni, tapi ogé kombinasi hiji pilarian atawa diganti langsung. Teu salawasna polah kudu coincide kalawan perbandingan, saprak dimungkinkeun teu merta ngakibatkeun parobahan sakaligus nanaon. Sering anjeun kudu milih salah sahiji atawa cabang séjén tina algoritma nu.
Normal varian PHP: ngalaksanakeun string ngabandingkeun fungsi int strcmp (s1, s2).
Hasil tina fungsi nu:
- 0 - garis sarua;
- -1 - nu string kahiji nyaeta kirang ti kadua;
- 1 - kahiji leuwih ti baris kadua.
Dina prakték, ieu ngandung harti yén bagian tina baris pangheulana kadua, ti mana fungsi PHP (barisan ngabandingkeun) megatkeun. A Vérsi beuki kawates strpos (), sabab dina hal dimungkinkeun kasebut nyaéta dimungkinkeun pikeun nyaho posisi entri.
strcmp () fungsi - sensitip. Upami anjeun hoyong pikeun ngabandingkeun string-merhatikeun teh, PHP nawarkeun strcasecmp na (). sintaksis téh sarupa.
Dina prakték mindeng diperlukeun pikeun digawe moal kalayan sakabéh garis, tapi ukur bagian tina eta. Pikeun set ieu fungsi PHP (string ngabandingkeun) kaasup strncmp (s1, s2, N). Parameter katilu hususna nedunan ngabandingkeun hijina N-bait. hasilna nyaeta strcmp sarupa ().
Arrays, string tur ngabandingkeun
Ieu aya ampir sok digambarkeun ku senar. Lamun urang nganggap nu arrays, objék, atawa struktur data, éta ngan varian béda tina kombinasi hiji struktur string basajan.
arrays string jeung barisan bisa disadiakeun di luhur lawanna. Transformasi tina Asép Sunandar Sunarya kana implode fungsi string (Asép Sunandar Sunarya, simbol), contona: $ margins1 = implode ( ',' $ style-> getInnerMargin ()); ... algoritma nu / pamaké ...; $ Margins2 = implode ( ',' $ style-> getInnerMargin ()) ngidinan Anjeun pikeun ngagabung sakabéh posisi objék dina posisi senar.
Anjeun teras bisa ngalakukeun PHP ngabandingkeun string, sarta dina hiji waktu: $ dipariksa = strcmp ($ margins1, $ margins2) jeung pastikeun algoritma atawa pamaké éta hal geus robah (atawa teu). Lamun ngalakukeun ngabandingkeun dina cara biasa, maneh bakal kudu nyortir elemen Asép Sunandar Sunarya. Butuh panjang tur geus leuwih pajeulit.
Objék jeung garis
Malah leuwih spektakuler pamakéan PHP (babandinganana string) bisa dilaksanakeun liwat gagasan obyék-berorientasi.
Gagasan modern sahiji fasilitas nunjukkeun yen aranjeunna gaduh pasipatan jeung métode. Urut nu biasana digambarkeun ku angka, string, arrays, sarta objék séjén. Kiwari dimungkinkeun mindeng ngawengku téhnik rékam (nempatkeun) dina garis recovery ti garis (meunang).
Teu kawas arrays, obyék teu karya mibanda sipat sorangan jeung dilibetkeun ku objék séjén. Obyek "kompeten" nu miboga sipat anu tina nilai nyata pikeun Algoritma sahiji program sakabéhna.
moment ieu nyadiakeun hiji dadasar anu na kasempetan pikeun ngarekam nalika ngarekam string anu mung informasi diperlukeun, tur di recovery tina garis ka balikkeun sagala sipat nu gawe dina kaayaan nu dipikahoyong. Biasana, dina obyek sagala aya informasi penting jeung gawe (waktu). Palaksanaan gagasan ieu ngidinan Anjeun pikeun ngahemat teu ngan mémori, spasi disk, catetan database, tapi ogé ngamungkinkeun pikeun ngabandingkeun hartosna dina garis basajan tur leuwih akurat.
Sintaksis jeung Semantik
PHP anu ngembang dinamis, tur pungsi na boh dina segi ngabandingkeun string sarta terus ningkat dina istilah perlakuan maranéhanana. Sanajan kitu, nanaon nyegah pamekar pikeun mindahkeun puseur gravitasi di wewengkon semantik.
Undoubtedly, fungsionalitas anu alus, tapi pamakéan na bisa dibikeun dina harti kodeu di objék. Nalika algoritma kasebut dibere salaku sistem interaksi antara objék, éta Sigana leuwih hadé ti sekuen babandinganana jeung lampah dina runtuyan langsung, hiji gaya klasik.
Similar articles
Trending Now