計算機程序設計

PHP做法:字符串比較

PHP是專注於良好的信息處理。 語言的語法表示的全功能集的比較函數,字符串處理,比較運算符。

任何算法 - 的選擇和行動的順序。 但是你在作出選擇之前,你需要的東西,它的東西進行比較。 行 - 最寬敞,高效,實用的算法控制機制。 線 - 數據表示的變體。 數據 - 這是任何算法的“照顧”的主要議題。

普通邏輯“比較行動”

一般而言,動態類型舌確實在數據沒有差異,如PHP比較線和數量沒有太大的不同。 數 - 這也是一個字符串,當它僅包含數字,點並沒有未使用任何形式(數學符號)來表示數字單個字符。

如果kontenkatsii號自動線合併,不問任何問題,沒有隱藏的錯誤,即使將gettype()函數給出了“整數”或“雙”。

然而,存在使用is_int()和is_numeric之間的差值()。 第一給真理,只有當參數是一個整數,第二,當任何數量或數字串(變量類型是“字符串”,而是包括所有提供的數學符號)。

這是一個簡單的例子 - 如何一個PHP字符串比較操作符(!==''==='...'=')可以存在許多的驚喜一個很好的例子。 變量可以改變自己的類型,它們並不總是數字,但幾乎總是他們可以導致線。 在極端情況下 - 這將是一個空字符串。

基於上述,一個PHP字符串比較函數是最流行的。 究竟選擇,決定了開發者。 很多可用的正則表達式了選項。

可用功能的邊界

兩行的PHP-比較好“做”功能strpos() - 最便宜的,忠實的實用服務。 如果 所述的結果 功能號,那麼顯然一個串等於另一個或一部分到另一部分。

從根本相反的,也絕對正確的方法 - 使用正則表達式。

如果函數$ cResult = scCheckFileName($ CSTR)給出“真”,則該行是文件vordovsky的名稱。 他將只有一個擴張“的.docx”選項,並在名稱中沒有的字符:字母,數字和字符“_”,“ - ”。

該功能可以很容易地轉換為其它類型的文件:$ CPTR ='/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | DOCX | TXT){1} $ / U“。 這種變體的延伸範圍的掃描線下載(例如,PHP字符串比較被施加“將文件上傳到服務器,與沒有輸入錯誤的機會”)為HTML,JS,CSS,...

使用對strpos()和的preg_match() - 極端。 他們不直接相關的比較期間的問題。 但該算法的問題 - 是使用的風格相結合的問題,利用一切機會,以實現可靠和正確的結果。

功能PHP:字符串比較

阿森納語言比較字符串 - 一個純粹的,不僅比較功能,還能直接搜索或替代品的組合。 並不往往必須與比較一致,因為後者並不必然導致任何行的變化。 通常你必須選擇一個或算法的另一個分支。

正常變異PHP:執行字符串比較函數int的strcmp(S1,S2)。

該函數的結果:

  • 0 - 線是相等的;
  • -1 - 所述第一字符串是小於第二;
  • 1 - 第一個比所述第二行更。

在實踐中,這意味著在第一行的第二,從該PHP函數(比較行)決定的部分。 strpos()的更有限的版本,因為在後一種情況下,可以知道進入的位置。

的strcmp()函數 - 敏感。 如果要比較字符串不敏感,PHP提供了strcasecmp()。 語法是相似的。

在實際工作中往往需要與整個行不行,但只是其中的一部分。 對於該組函數PHP(字符串比較)包括STRNCMP(S1,S2,N)。 第三個參數指定執行比較唯一的N-字節。 結果是相似的strcmp()。

數組,字符串和比較

這些幾乎都是用字符串表示。 如果我們考慮到數組,對象或數據結構,它只是不同的一個簡單的字符串結構的組合的變體。

串陣列和行可以以互補的方式來提供。 陣列轉換成字符串功能破滅(陣列,符號)的轉化,例如:$ margins1 =破滅(“,”,$風格 - > getInnerMargin()); ...算法/用戶...; $ Margins2 =破滅('',$風格 - > getInnerMargin()),您可以合併所有的字符串位置的對象位置。

然後,您可以執行PHP字符串比較,並在同一時間:$檢查= STRCMP($ margins1,$ margins2),並確保該算法或事情有了變化(或沒有)的用戶。 如果執行通常的方式進行比較,你必須數組元素進行排序。 它需要更長的時間和更複雜。

對象和行

更壯觀的使用PHP(字符串比較)可以通過面向對象的思想來實現。

設施的現代理念表明它們具有的屬性和方法。 前者通常由數字,字符串,數組和其他對象表示。 後者通常包括記錄技術(放)在救援繩和線(獲得)。

與數組不同,對象所從事的工作與自己的屬性,並與其他對象進行交互。 對象“稱職”,其中它的屬性是為整個方案的算法真正的價值。

這一刻提供了基礎和機會記錄一個字符串只將必要的信息時,記錄,並在該行的恢復,以恢復理想狀態所有工作的性質。 通常,在任何物體有大量信息和工作(時間)。 這個想法的實現可以讓你不僅節省內存,磁盤空間,數據庫記錄,而且還能夠以比較簡單的線條和更準確的方法。

語法和語義

PHP是動態發展的,它的功能都在做字符串比較而言,不斷在他們的治療方面的改善。 然而,沒有什麼能夠阻止開發者移動重心在語義的區域。

毫無疑問,該功能是好的,但它的使用可以在對象的代碼的含義被轉移。 當算法是作為對象之間相互作用的系統,它看起來比直接序列,古典風格的序列比較和行動要好得多。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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